From 5966a7428f7d55e3f58668cc81bb0f4d92b64def Mon Sep 17 00:00:00 2001 From: Jing Ji Date: Wed, 5 May 2021 23:01:34 -0700 Subject: [PATCH] Validate the ProcessRecord prior to insert to LRU list If the process has been killed, there is no need to insert it to LRU list. Bug: 186829273 Test: atest CtsAppTestCases Test: atest AutoRevokeTest Change-Id: I5eeea731ce2080709cc9ba3c75c8a591e4ec10f0 --- services/core/java/com/android/server/am/ProcessList.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index cc98abfc17f2f..af3f658ad800c 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -3418,6 +3418,11 @@ public final class ProcessList { return; } + if (app.getPid() == 0 && !app.isPendingStart()) { + // This process has been killed and its cleanup is done, don't proceed the LRU update. + return; + } + synchronized (mProcLock) { updateLruProcessLSP(app, client, hasActivity, hasService); }