summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author liulvping <liulvping@xiaomi.com> 2023-11-07 15:17:54 +0800
committer Riddle Hsu <riddlehsu@google.com> 2023-11-23 07:02:12 +0000
commit1850db48f39281bb91f1ff2338288b2f32213a51 (patch)
tree0a800c1d301d23508f3890ea75a59c2dfe31820f
parent37c9cdbd923000f45414182932d11eb196c87c20 (diff)
Killing the client process only if the uid matches
If the client process was killed by lmkd or other, and its pid rescued by any process. Then it may be killed by mistaken. Bug: 312576121 Change-Id: I577372953c5f9090d11dbf9ca5bd67e1f5dd9408 Signed-off-by: liulvping <liulvping@xiaomi.com>
-rw-r--r--services/core/java/com/android/server/wm/WindowState.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index 04699619bfc8..afd2c50a174c 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -3489,7 +3489,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
// just kill it. And if it is a window of foreground activity, the activity can be
// restarted automatically if needed.
Slog.w(TAG, "Exception thrown during dispatchAppVisibility " + this, e);
- android.os.Process.killProcess(mSession.mPid);
+ if (android.os.Process.getUidForPid(mSession.mPid) == mSession.mUid) {
+ android.os.Process.killProcess(mSession.mPid);
+ }
}
}