Append -verity when looking for verity device-mapper names.

Bug: 123666267
Test: recovery_component_test passes
Change-Id: I9b608b3fbfa14cc45ad0b4de6cb5cecdef983acb
This commit is contained in:
David Anderson 2019-04-01 14:37:33 -07:00
parent 3168ddf79d
commit c52663c4ea

View file

@ -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));