fs_mgr: allow FDE options in recovery mode

Unfortunately, some recovery fstabs still specify the FDE options, where
they never really did anything anyway.  Allow them for now, since it
seems preferable to restrict any breakage to the case that really
matters (devices actually configured to use FDE in their main fstab).

Bug: 191796797
Bug: 206025578
Change-Id: I85e35af8f42d2aef91f08816a67a71bbf756b211
This commit is contained in:
Eric Biggers 2021-11-12 13:07:04 -08:00
parent 9e21700282
commit efe209352e

View file

@ -306,7 +306,13 @@ bool ParseFsMgrFlags(const std::string& flags, FstabEntry* entry) {
}
}
if (entry->fs_mgr_flags.crypt && !entry->fs_mgr_flags.vold_managed) {
// FDE is no longer supported, so reject "encryptable" when used without
// "vold_managed". For now skip this check when in recovery mode, since
// some recovery fstabs still contain the FDE options since they didn't do
// anything in recovery mode anyway (except possibly to cause the
// reservation of a crypto footer) and thus never got removed.
if (entry->fs_mgr_flags.crypt && !entry->fs_mgr_flags.vold_managed &&
access("/system/bin/recovery", F_OK) != 0) {
LERROR << "FDE is no longer supported; 'encryptable' can only be used for adoptable "
"storage";
return false;