summaryrefslogtreecommitdiff
path: root/libs/graphicsenv/GraphicsEnv.cpp
diff options
context:
space:
mode:
author Yiwei Zhang <zzyiwei@google.com> 2019-11-08 11:55:36 -0800
committer Peiyong Lin <lpy@google.com> 2020-01-29 21:30:19 -0800
commitfe62271bc355a6989a3e093bd39afb7b2e249054 (patch)
treec6cc59c538f42e68c25666fae4551a6fc360b9b2 /libs/graphicsenv/GraphicsEnv.cpp
parent876a1960e4a264a364ef14634840d5eebd78f01e (diff)
GraphicsEnv: refactor to unify the debuggable logic
By default, PR_SET_DUMPABLE is 0 for zygote spawned apps, except in the following circumstances: 1. ro.debuggable=1 (global debuggable enabled, i.e., userdebug or eng builds). 2. android:debuggable="true" in the manifest for an individual application. 3. An app which explicitly calls prctl(PR_SET_DUMPABLE, 1). 4. GraphicsEnv calls prctl(PR_SET_DUMPABLE, 1) in the presence of <meta-data android:name="com.android.graphics.injectLayers.enable" android:value="true"/> in the application manifest. So checking both ro.debuggable=1 and PR_GET_DUMPABLE is redundant. Bug: b/144186877, b/148566223 Test: CtsAngleIntegrationHostTestCases Test: CtsRootlessGpuDebugHostTest Change-Id: I934f64315b67db77ee2c2a9dff50fb23bc0a546a Merged-In: I934f64315b67db77ee2c2a9dff50fb23bc0a546a (cherry picked from commit 6a674c9e105bdc5d736c06a4500dcdac1c6c4006)
Diffstat (limited to 'libs/graphicsenv/GraphicsEnv.cpp')
-rw-r--r--libs/graphicsenv/GraphicsEnv.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/libs/graphicsenv/GraphicsEnv.cpp b/libs/graphicsenv/GraphicsEnv.cpp
index bb9e263ac4..6e59cc5040 100644
--- a/libs/graphicsenv/GraphicsEnv.cpp
+++ b/libs/graphicsenv/GraphicsEnv.cpp
@@ -139,12 +139,8 @@ static const std::string getSystemNativeLibraries(NativeLibrary type) {
return env;
}
-int GraphicsEnv::getCanLoadSystemLibraries() {
- if (property_get_bool("ro.debuggable", false) && prctl(PR_GET_DUMPABLE, 0, 0, 0, 0)) {
- // Return an integer value since this crosses library boundaries
- return 1;
- }
- return 0;
+bool GraphicsEnv::isDebuggable() {
+ return prctl(PR_GET_DUMPABLE, 0, 0, 0, 0) > 0;
}
void GraphicsEnv::setDriverPathAndSphalLibraries(const std::string path,