From 1850db48f39281bb91f1ff2338288b2f32213a51 Mon Sep 17 00:00:00 2001 From: liulvping Date: Tue, 7 Nov 2023 15:17:54 +0800 Subject: 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 --- services/core/java/com/android/server/wm/WindowState.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 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); + } } } -- cgit v1.2.3-59-g8ed1b