Loading cmds/servicemanager/service_manager.c +1 −2 Original line number Diff line number Diff line Loading @@ -8,10 +8,9 @@ #include <stdlib.h> #include <string.h> #include <cutils/android_filesystem_config.h> #include <cutils/multiuser.h> #include <private/android_filesystem_config.h> #include <selinux/android.h> #include <selinux/avc.h> Loading libs/gui/BufferQueueConsumer.cpp +12 −4 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ */ #include <inttypes.h> #include <pwd.h> #include <sys/types.h> #define LOG_TAG "BufferQueueConsumer" #define ATRACE_TAG ATRACE_TAG_GRAPHICS Loading @@ -34,7 +36,6 @@ #include <binder/IPCThreadState.h> #include <binder/PermissionCache.h> #include <private/android_filesystem_config.h> namespace android { Loading Loading @@ -745,12 +746,19 @@ status_t BufferQueueConsumer::discardFreeBuffers() { } status_t BufferQueueConsumer::dumpState(const String8& prefix, String8* outResult) const { struct passwd* pwd = getpwnam("shell"); uid_t shellUid = pwd ? pwd->pw_uid : 0; if (!shellUid) { int savedErrno = errno; BQ_LOGE("Cannot get AID_SHELL"); return savedErrno ? -savedErrno : UNKNOWN_ERROR; } const IPCThreadState* ipc = IPCThreadState::self(); const pid_t pid = ipc->getCallingPid(); const uid_t uid = ipc->getCallingUid(); if ((uid != AID_SHELL) && !PermissionCache::checkPermission(String16( "android.permission.DUMP"), pid, uid)) { if ((uid != shellUid) && !PermissionCache::checkPermission(String16("android.permission.DUMP"), pid, uid)) { outResult->appendFormat("Permission Denial: can't dump BufferQueueConsumer " "from pid=%d, uid=%d\n", pid, uid); android_errorWriteWithInfoLog(0x534e4554, "27046057", Loading Loading
cmds/servicemanager/service_manager.c +1 −2 Original line number Diff line number Diff line Loading @@ -8,10 +8,9 @@ #include <stdlib.h> #include <string.h> #include <cutils/android_filesystem_config.h> #include <cutils/multiuser.h> #include <private/android_filesystem_config.h> #include <selinux/android.h> #include <selinux/avc.h> Loading
libs/gui/BufferQueueConsumer.cpp +12 −4 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ */ #include <inttypes.h> #include <pwd.h> #include <sys/types.h> #define LOG_TAG "BufferQueueConsumer" #define ATRACE_TAG ATRACE_TAG_GRAPHICS Loading @@ -34,7 +36,6 @@ #include <binder/IPCThreadState.h> #include <binder/PermissionCache.h> #include <private/android_filesystem_config.h> namespace android { Loading Loading @@ -745,12 +746,19 @@ status_t BufferQueueConsumer::discardFreeBuffers() { } status_t BufferQueueConsumer::dumpState(const String8& prefix, String8* outResult) const { struct passwd* pwd = getpwnam("shell"); uid_t shellUid = pwd ? pwd->pw_uid : 0; if (!shellUid) { int savedErrno = errno; BQ_LOGE("Cannot get AID_SHELL"); return savedErrno ? -savedErrno : UNKNOWN_ERROR; } const IPCThreadState* ipc = IPCThreadState::self(); const pid_t pid = ipc->getCallingPid(); const uid_t uid = ipc->getCallingUid(); if ((uid != AID_SHELL) && !PermissionCache::checkPermission(String16( "android.permission.DUMP"), pid, uid)) { if ((uid != shellUid) && !PermissionCache::checkPermission(String16("android.permission.DUMP"), pid, uid)) { outResult->appendFormat("Permission Denial: can't dump BufferQueueConsumer " "from pid=%d, uid=%d\n", pid, uid); android_errorWriteWithInfoLog(0x534e4554, "27046057", Loading