From 76418899e66a144a257ee3489404dcb390552c18 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Mon, 18 Apr 2016 15:16:31 -0700 Subject: [PATCH] Kill the real/isolated uid group, not the ApplicationInfo uid This is a direct reimplementation in L of fixes applied to N in these two commits: 8dc8d37c1d7d694016f1ec2b3cea5fb723567be8 e8741d23d2dd05c4cb3fed5ee6a4040ee96a60e3 Bug 19285814 Change-Id: I59bcc8f1d41c426e9da635bea9ad1d7c6756d5aa --- .../core/java/com/android/server/am/ActivityManagerService.java | 6 +++--- services/core/java/com/android/server/am/ProcessRecord.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 8e00cb3ed7ee..96a1da83d21e 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -2663,7 +2663,7 @@ public final class ActivityManagerService extends ActivityManagerNative if (!app.killed) { Slog.wtfStack(TAG, "Removing process that hasn't been killed: " + app); Process.killProcessQuiet(app.pid); - Process.killProcessGroup(app.info.uid, app.pid); + Process.killProcessGroup(app.uid, app.pid); } if (lrui <= mLruProcessActivityStart) { mLruProcessActivityStart--; @@ -2998,7 +2998,7 @@ public final class ActivityManagerService extends ActivityManagerNative // clean it up now. if (DEBUG_PROCESSES || DEBUG_CLEANUP) Slog.v(TAG, "App died: " + app); checkTime(startTime, "startProcess: bad proc running, killing"); - Process.killProcessGroup(app.info.uid, app.pid); + Process.killProcessGroup(app.uid, app.pid); handleAppDiedLocked(app, true, true); checkTime(startTime, "startProcess: done killing old proc"); } @@ -4872,7 +4872,7 @@ public final class ActivityManagerService extends ActivityManagerNative } Process.killProcessQuiet(pid); - Process.killProcessGroup(app.info.uid, pid); + Process.killProcessGroup(app.uid, pid); app.killed = true; // Clean up already done if the process has been re-started. diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java index 7c48f3e00fac..b5ebe8ddd5a4 100644 --- a/services/core/java/com/android/server/am/ProcessRecord.java +++ b/services/core/java/com/android/server/am/ProcessRecord.java @@ -514,7 +514,7 @@ final class ProcessRecord { } EventLog.writeEvent(EventLogTags.AM_KILL, userId, pid, processName, setAdj, reason); Process.killProcessQuiet(pid); - Process.killProcessGroup(info.uid, pid); + Process.killProcessGroup(uid, pid); if (!persistent) { killed = true; killedByAm = true; -- 2.11.0