summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Anderson <dvander@google.com>2019-04-02 23:08:44 +0200
committerandroid-build-merger <android-build-merger@google.com>2019-04-02 23:08:44 +0200
commit5fa37b77d1a85f39e1542f4a0da75e03c88eac08 (patch)
tree430ebd1aae467de7e5eee4263e30c400ced548e6
parentMerge changes Ibbe7084e,If584fc8a am: bb8f0fff17 (diff)
parentMerge "Append -verity when looking for verity device-mapper names." (diff)
downloadandroid_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.tar
android_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.tar.gz
android_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.tar.bz2
android_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.tar.lz
android_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.tar.xz
android_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.tar.zst
android_bootable_recovery-5fa37b77d1a85f39e1542f4a0da75e03c88eac08.zip
-rw-r--r--update_verifier/update_verifier.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/update_verifier/update_verifier.cpp b/update_verifier/update_verifier.cpp
index 0cf536ce6..d04c455d8 100644
--- a/update_verifier/update_verifier.cpp
+++ b/update_verifier/update_verifier.cpp
@@ -115,6 +115,15 @@ std::map<std::string, std::string> UpdateVerifier::FindDmPartitions() {
// AVB is using 'vroot' for the root block device but we're expecting 'system'.
if (dm_block_name == "vroot") {
dm_block_name = "system";
+ } else if (android::base::EndsWith(dm_block_name, "-verity")) {
+ auto npos = dm_block_name.rfind("-verity");
+ dm_block_name = dm_block_name.substr(0, npos);
+ } else if (!android::base::GetProperty("ro.boot.avb_version", "").empty()) {
+ // Verified Boot 1.0 doesn't add a -verity suffix. On AVB 2 devices,
+ // if DAP is enabled, then a -verity suffix must be used to
+ // differentiate between dm-linear and dm-verity devices. If we get
+ // here, we're AVB 2 and looking at a non-verity partition.
+ continue;
}
dm_block_devices.emplace(dm_block_name, DEV_PATH + std::string(namelist[n]->d_name));