summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nikita Ioffe <ioffe@google.com> 2021-01-25 21:44:33 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-01-25 21:44:33 +0000
commit0bd1e20da8049eea8208f064584cd0fa0ef3cac4 (patch)
tree2ea2a0faec1cc2365d7e1183e699706268479372
parentac64bae06d380aa686fa4679a0b7b920e9b4df66 (diff)
parent2912b101aaa34abfa9637f2f00c992e7d129b994 (diff)
Merge "Fix for TestDirectBootEmulated testcase"
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index 5c34584d0adf..4e2519b47a47 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -3297,6 +3297,12 @@ class StorageManagerService extends IStorageManager.Stub
enforcePermission(android.Manifest.permission.STORAGE_INTERNAL);
if (isFsEncrypted) {
+ // When a user has secure lock screen, require secret to actually unlock.
+ // This check is mostly in place for emulation mode.
+ if (StorageManager.isFileEncryptedEmulatedOnly() &&
+ mLockPatternUtils.isSecure(userId) && ArrayUtils.isEmpty(secret)) {
+ throw new IllegalStateException("Secret required to unlock secure user " + userId);
+ }
try {
mVold.unlockUserKey(userId, serialNumber, encodeBytes(token),
encodeBytes(secret));