Don't include the data dir in zygote library paths.
When creating a LoadedApk in a zygote context (app zygote or WebView zygote), don't add the app's data dir to the list of paths the dynamic linker is allowed to load libraries from, because the linker's attempt to canonicalize the path causes SELinux access denials. The process can't access the data directory at all, so cannot load libraries from there in any case. Fixes: 149481620 Test: check for avc denials from webview_zygote Change-Id: I9aceecaf6067e748cc2251782b0f41661cbb35d8 Merged-In: I9aceecaf6067e748cc2251782b0f41661cbb35d8
This commit is contained in:
@@ -797,6 +797,11 @@ public final class LoadedApk {
|
||||
makePaths(mActivityThread, isBundledApp, mApplicationInfo, zipPaths, libPaths);
|
||||
|
||||
String libraryPermittedPath = mDataDir;
|
||||
if (mActivityThread == null) {
|
||||
// In a zygote context where mActivityThread is null we can't access the app data dir
|
||||
// and including this in libraryPermittedPath would cause SELinux denials.
|
||||
libraryPermittedPath = "";
|
||||
}
|
||||
|
||||
if (isBundledApp) {
|
||||
// For bundled apps, add the base directory of the app (e.g.,
|
||||
|
||||
Reference in New Issue
Block a user