diff options
-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 2175fd441f..6e318ea478 100644 --- a/libs/binder/IServiceManager.cpp +++ b/libs/binder/IServiceManager.cpp @@ -154,8 +154,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; @@ -180,8 +179,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 8e46147d24..d152005969 100644 --- a/libs/binder/include/binder/IServiceManager.h +++ b/libs/binder/include/binder/IServiceManager.h @@ -167,7 +167,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); #ifndef __ANDROID__ // Create an IServiceManager that delegates the service manager on the device via adb. |