summaryrefslogtreecommitdiff
path: root/services/backup/java
diff options
context:
space:
mode:
author Sarp Misoglu <sarpm@google.com> 2024-12-16 18:00:55 +0000
committer Sarp Misoglu <sarpm@google.com> 2024-12-17 12:47:05 +0000
commitda92659961ee8934d534b53d136f0dd4aeb6578b (patch)
tree3bcd29b4a7ced28d09cd2ed2007ca44a7b70852b /services/backup/java
parenta5a17bf7ce03db45ff7fce5b5076ad03b7b0c20f (diff)
Check backup wakelock is held before releasing
This is to prevent a rare crash that can happen if something releases the wakelock beforehand. I'm not sure exactly what sequence of events leads to the crash scenario but this seems like a sensible check to have anyway since we have multiple operations that can acquire/release the wakelock. Flag: EXEMPT bugfix Fixes: 349280741 Test: CtsBackupTestCases, CtsBackupHostTestCases Change-Id: I4a5c7ea0cf381de051a4a4afdf2426f9715515c8
Diffstat (limited to 'services/backup/java')
-rw-r--r--services/backup/java/com/android/server/backup/UserBackupManagerService.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/backup/java/com/android/server/backup/UserBackupManagerService.java b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
index 3025e2eaede0..549f8fa77b53 100644
--- a/services/backup/java/com/android/server/backup/UserBackupManagerService.java
+++ b/services/backup/java/com/android/server/backup/UserBackupManagerService.java
@@ -217,6 +217,13 @@ public class UserBackupManagerService {
+ mPowerManagerWakeLock.getTag()));
return;
}
+
+ if (!mPowerManagerWakeLock.isHeld()) {
+ Slog.w(TAG, addUserIdToLogMessage(mUserId,
+ "Wakelock not held: " + mPowerManagerWakeLock.getTag()));
+ return;
+ }
+
mPowerManagerWakeLock.release();
Slog.v(
TAG,