diff options
| author | 2013-09-20 19:35:16 +0000 | |
|---|---|---|
| committer | 2013-09-20 19:35:17 +0000 | |
| commit | effefbc48f41fa484910e66c78a79a34817c345b (patch) | |
| tree | f3e5b10dd9cc5f6d8f2f47a65b68dfe687948f14 | |
| parent | 69aa2f8a0555a5ca37fa78d5cfcbf59d7476d044 (diff) | |
| parent | 8643dc6b709928b2fa627804f422769f0a40ac5b (diff) | |
Merge "Proper security labeling of multi-user data directories."
| -rw-r--r-- | services/java/com/android/server/pm/Installer.java | 4 | ||||
| -rwxr-xr-x | services/java/com/android/server/pm/PackageManagerService.java | 2 | ||||
| -rw-r--r-- | services/java/com/android/server/pm/Settings.java | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/services/java/com/android/server/pm/Installer.java b/services/java/com/android/server/pm/Installer.java index 734d07136aff..0d2b50316366 100644 --- a/services/java/com/android/server/pm/Installer.java +++ b/services/java/com/android/server/pm/Installer.java @@ -265,7 +265,7 @@ public final class Installer { 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"); builder.append(' '); builder.append(name); @@ -273,6 +273,8 @@ public final class Installer { builder.append(uid); builder.append(' '); builder.append(userId); + builder.append(' '); + builder.append(seinfo != null ? seinfo : "!"); return execute(builder.toString()); } diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index 8cdca1f891ac..a84f900f99d6 100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -3816,7 +3816,7 @@ public class PackageManagerService extends IPackageManager.Stub { for (int user : users) { if (user != 0) { res = mInstaller.createUserData(packageName, - UserHandle.getUid(user, uid), user); + UserHandle.getUid(user, uid), user, seinfo); if (res < 0) { return res; } diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java index 2e48074e0249..b0679f227b91 100644 --- a/services/java/com/android/server/pm/Settings.java +++ b/services/java/com/android/server/pm/Settings.java @@ -2459,7 +2459,8 @@ final class Settings { ps.setInstalled((ps.pkgFlags&ApplicationInfo.FLAG_SYSTEM) != 0, userHandle); // Need to create a data directory for all apps under this user. installer.createUserData(ps.name, - UserHandle.getUid(userHandle, ps.appId), userHandle); + UserHandle.getUid(userHandle, ps.appId), userHandle, + ps.pkg.applicationInfo.seinfo); } readDefaultPreferredAppsLPw(service, userHandle); writePackageRestrictionsLPr(userHandle); |