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

Commit 662b3bbe authored by Nick Kralevich's avatar Nick Kralevich Committed by Android Git Automerger
Browse files

am effefbc4: Merge "Proper security labeling of multi-user data directories."

* commit 'effefbc4':
  Proper security labeling of multi-user data directories.
parents 78466f3e effefbc4
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -265,7 +265,7 @@ public final class Installer {
        return execute(builder.toString());
        return execute(builder.toString());
    }
    }


    public int createUserData(String name, int uid, int userId) {
    public int createUserData(String name, int uid, int userId, String seinfo) {
        StringBuilder builder = new StringBuilder("mkuserdata");
        StringBuilder builder = new StringBuilder("mkuserdata");
        builder.append(' ');
        builder.append(' ');
        builder.append(name);
        builder.append(name);
@@ -273,6 +273,8 @@ public final class Installer {
        builder.append(uid);
        builder.append(uid);
        builder.append(' ');
        builder.append(' ');
        builder.append(userId);
        builder.append(userId);
        builder.append(' ');
        builder.append(seinfo != null ? seinfo : "!");
        return execute(builder.toString());
        return execute(builder.toString());
    }
    }


+1 −1
Original line number Original line Diff line number Diff line
@@ -3816,7 +3816,7 @@ public class PackageManagerService extends IPackageManager.Stub {
        for (int user : users) {
        for (int user : users) {
            if (user != 0) {
            if (user != 0) {
                res = mInstaller.createUserData(packageName,
                res = mInstaller.createUserData(packageName,
                        UserHandle.getUid(user, uid), user);
                        UserHandle.getUid(user, uid), user, seinfo);
                if (res < 0) {
                if (res < 0) {
                    return res;
                    return res;
                }
                }
+2 −1
Original line number Original line Diff line number Diff line
@@ -2459,7 +2459,8 @@ final class Settings {
            ps.setInstalled((ps.pkgFlags&ApplicationInfo.FLAG_SYSTEM) != 0, userHandle);
            ps.setInstalled((ps.pkgFlags&ApplicationInfo.FLAG_SYSTEM) != 0, userHandle);
            // Need to create a data directory for all apps under this user.
            // Need to create a data directory for all apps under this user.
            installer.createUserData(ps.name,
            installer.createUserData(ps.name,
                    UserHandle.getUid(userHandle, ps.appId), userHandle);
                    UserHandle.getUid(userHandle, ps.appId), userHandle,
                    ps.pkg.applicationInfo.seinfo);
        }
        }
        readDefaultPreferredAppsLPw(service, userHandle);
        readDefaultPreferredAppsLPw(service, userHandle);
        writePackageRestrictionsLPr(userHandle);
        writePackageRestrictionsLPr(userHandle);