summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorSandeep Patil <sspatil@google.com>2017-02-16 17:04:11 -0800
committerSandeep Patil <sspatil@google.com>2017-02-22 11:22:53 -0800
commit05ff38ba43eb7a882873312f12fc019b42f37b34 (patch)
tree630a81bbc8fd8f3daaaee1abdcef72eb39a288e3 /init
parent0a3e36fbb19315de6208560e239dbc7cccbba214 (diff)
downloadsystem_core-05ff38ba43eb7a882873312f12fc019b42f37b34.tar.gz
system_core-05ff38ba43eb7a882873312f12fc019b42f37b34.tar.bz2
system_core-05ff38ba43eb7a882873312f12fc019b42f37b34.zip
init: early_mount: disallow partitions to be verified at boot
While technically possible, the verification at boot basically will block init for as long as the entire partition is read while nothing else is running. Disallow that as this is not going to be used anywhere. Bug: 27805372 Test: boot angler with verifyatboot fs_mgr option for early mounted vendor partition. That resulted in a panic() as expected. Change-Id: I9da5caa163cae8bce6dbfb630f0ed5605ea044a0 Signed-off-by: Sandeep Patil <sspatil@google.com>
Diffstat (limited to 'init')
-rw-r--r--init/init.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/init/init.cpp b/init/init.cpp
index 702186cfa..2399f5c6f 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -799,6 +799,14 @@ static bool early_mount() {
return true;
}
+ // don't allow verifyatboot for early mounted partitions
+ if ((odm_rec && fs_mgr_is_verifyatboot(odm_rec)) ||
+ (system_rec && fs_mgr_is_verifyatboot(system_rec)) ||
+ (vendor_rec && fs_mgr_is_verifyatboot(vendor_rec))) {
+ LOG(ERROR) << "Early mount partitions can't be verified at boot";
+ return false;
+ }
+
// assume A/B device if we find 'slotselect' in any fstab entry
bool is_ab = ((odm_rec && fs_mgr_is_slotselect(odm_rec)) ||
(system_rec && fs_mgr_is_slotselect(system_rec)) ||