From 8f527b3e99eedfb04b14f6ad5313be82d4cd65aa Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Mon, 21 Sep 2020 17:32:10 +0000 Subject: [PATCH] Fix deadlock between AppOpsService and HistoricalRegistry. HistoricalRegistry locks its mOnDiskLock first, and then its mInMemoryLock (which is the AppOpsService object), so AppOpsService cannot call into HistoricalRegistry while holding its own lock. Fixes: 168020658 Test: presubmit Change-Id: I0d2a38b6b416c59f10d15b60badf234a80f16152 --- .../core/java/com/android/server/appop/AppOpsService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 6eab0221b7abc..42af4dabc92b5 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -1786,9 +1786,9 @@ public class AppOpsService extends IAppOpsService.Stub { } } } - - mHistoricalRegistry.clearHistory(uid, packageName); } + + mHistoricalRegistry.clearHistory(uid, packageName); } public void uidRemoved(int uid) {