diff options
author | 2021-07-28 20:27:21 +0000 | |
---|---|---|
committer | 2021-07-29 18:50:13 +0000 | |
commit | 49bc34b62c123df99095bf56cf5383bf2e3f4e69 (patch) | |
tree | a8ca821a2228d2ce949702dff47972c3de125960 | |
parent | 0e0ee9f7233055a1280a5c61ba120d70dcee5b52 (diff) |
libbinder: Add an option to not log permission check failures.
Bug: 193256922
Test: modify cameraserver to not log system camera permission failures;
logcat --pid=<cameraserver-pid> | grep ServiceManager doesn't show
system camera related permission failures
Merged-In: I3f366d5188637bc8e2fc3c03aa0b97f0516cc95c
Change-Id: I3f366d5188637bc8e2fc3c03aa0b97f0516cc95c
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
(cherry picked from commit 4e4f44d529b30c36123819be7ea3f99047e4c9c2)
-rw-r--r-- | libs/binder/IServiceManager.cpp | 9 | ||||
-rw-r--r-- | libs/binder/include/binder/IServiceManager.h | 3 |
2 files changed, 7 insertions, 5 deletions
diff --git a/libs/binder/IServiceManager.cpp b/libs/binder/IServiceManager.cpp index 9aa82d908c..0ecb241e1d 100644 --- a/libs/binder/IServiceManager.cpp +++ b/libs/binder/IServiceManager.cpp @@ -140,8 +140,7 @@ bool checkCallingPermission(const String16& permission, int32_t* outPid, int32_t return checkPermission(permission, pid, uid); } -bool checkPermission(const String16& permission, pid_t pid, uid_t uid) -{ +bool checkPermission(const String16& permission, pid_t pid, uid_t uid, bool logPermissionFailure) { static Mutex gPermissionControllerLock; static sp<IPermissionController> gPermissionController; @@ -166,8 +165,10 @@ bool checkPermission(const String16& permission, pid_t pid, uid_t uid) // Is this a permission failure, or did the controller go away? if (IInterface::asBinder(pc)->isBinderAlive()) { - ALOGW("Permission failure: %s from uid=%d pid=%d", - String8(permission).string(), uid, pid); + if (logPermissionFailure) { + ALOGW("Permission failure: %s from uid=%d pid=%d", String8(permission).string(), + uid, pid); + } return false; } diff --git a/libs/binder/include/binder/IServiceManager.h b/libs/binder/include/binder/IServiceManager.h index 1d520c127b..742badafdf 100644 --- a/libs/binder/include/binder/IServiceManager.h +++ b/libs/binder/include/binder/IServiceManager.h @@ -156,7 +156,8 @@ status_t getService(const String16& name, sp<INTERFACE>* outService) bool checkCallingPermission(const String16& permission); bool checkCallingPermission(const String16& permission, int32_t* outPid, int32_t* outUid); -bool checkPermission(const String16& permission, pid_t pid, uid_t uid); +bool checkPermission(const String16& permission, pid_t pid, uid_t uid, + bool logPermissionFailure = true); } // namespace android |