Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e7619fc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Do not enable storage app data isolation on special mount options app"...

Merge "Do not enable storage app data isolation on special mount options app" into rvc-dev am: e96d92cd am: cb88b3de am: 3ca7e403 am: 907df977

Change-Id: I3ce7186b03f9b1e45fe5cc5d8213c039250958c1
parents 2dffb403 907df977
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -2213,6 +2213,17 @@ public final class ProcessList {
        return result;
    }

    private boolean needsStorageDataIsolation(StorageManagerInternal storageManagerInternal,
            ProcessRecord app) {
        return mVoldAppDataIsolationEnabled && UserHandle.isApp(app.uid)
                && !storageManagerInternal.isExternalStorageService(app.uid)
                // Special mounting mode doesn't need to have data isolation as they won't
                // access /mnt/user anyway.
                && app.mountMode != Zygote.MOUNT_EXTERNAL_ANDROID_WRITABLE
                && app.mountMode != Zygote.MOUNT_EXTERNAL_PASS_THROUGH
                && app.mountMode != Zygote.MOUNT_EXTERNAL_INSTALLER;
    }

    private Process.ProcessStartResult startProcess(HostingRecord hostingRecord, String entryPoint,
            ProcessRecord app, int uid, int[] gids, int runtimeFlags, int zygotePolicyFlags,
            int mountExternal, String seInfo, String requiredAbi, String instructionSet,
@@ -2269,8 +2280,7 @@ public final class ProcessList {
            int userId = UserHandle.getUserId(uid);
            StorageManagerInternal storageManagerInternal = LocalServices.getService(
                    StorageManagerInternal.class);
            if (mVoldAppDataIsolationEnabled && UserHandle.isApp(app.uid)
                    && !storageManagerInternal.isExternalStorageService(uid)) {
            if (needsStorageDataIsolation(storageManagerInternal, app)) {
                bindMountAppStorageDirs = true;
                if (pkgDataInfoMap == null ||
                        !storageManagerInternal.prepareStorageDirs(userId, pkgDataInfoMap.keySet(),