diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-29 02:11:38 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-11-29 02:11:38 +0000 |
commit | d51037224d0f4659b3f80f6930552d486cd008c7 (patch) | |
tree | b27df1296547e36702aa47185b488278dd4168cc | |
parent | 29497da074fb0a45bf4b7340749a41d335c165fd (diff) | |
parent | ceac677e415b15e0febbbe5af6e394f56e870500 (diff) | |
download | vold-main-16k.tar.gz |
Merge "Merge "Ignore DE retrieveKey failure for non-user-0" am: 1cb65f9de5" into main-16kmain-16k
-rw-r--r-- | FsCrypt.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/FsCrypt.cpp b/FsCrypt.cpp index 5bc55d0b..f871a32c 100644 --- a/FsCrypt.cpp +++ b/FsCrypt.cpp @@ -417,7 +417,11 @@ static bool load_all_de_keys() { userid_t user_id = std::stoi(entry->d_name); auto key_path = de_dir + "/" + entry->d_name; KeyBuffer de_key; - if (!retrieveKey(key_path, kEmptyAuthentication, &de_key)) return false; + if (!retrieveKey(key_path, kEmptyAuthentication, &de_key)) { + // This is probably a partially removed user, so ignore + if (user_id != 0) continue; + return false; + } EncryptionPolicy de_policy; if (!install_storage_key(DATA_MNT_POINT, options, de_key, &de_policy)) return false; auto ret = s_de_policies.insert({user_id, de_policy}); |