Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37a0b318 authored by Bowgo Tsai's avatar Bowgo Tsai
Browse files

fs_mgr_avb: allow top-level vbmeta struct to be in 'boot' partition

get_hashtree_descriptor() currently restricts HASHTREE descriptor to be
either in /vbmeta or in the same partition for dm-verity setup.

Also allows it to be from /boot partition because the top-level vbmeta
might be appended at /boot in legacy devices without /vbmeta.

Bug: 35880930
Test: test AVB on bullhead with top-level vbmeta being at /boot
Change-Id: I1ebd16a3c9f17bced6055146e8843b5918a737eb
parent 9ead7c4a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -390,10 +390,12 @@ static bool get_hashtree_descriptor(const std::string& partition_name,
            continue;
        }

        // Ensures that hashtree descriptor is either in /vbmeta or in
        // Ensures that hashtree descriptor is in /vbmeta or /boot or in
        // the same partition for verity setup.
        std::string vbmeta_partition_name(verify_data.vbmeta_images[i].partition_name);
        if (vbmeta_partition_name != "vbmeta" && vbmeta_partition_name != partition_name) {
        if (vbmeta_partition_name != "vbmeta" &&
            vbmeta_partition_name != "boot" &&  // for legacy device to append top-level vbmeta
            vbmeta_partition_name != partition_name) {
            LWARNING << "Skip vbmeta image at " << verify_data.vbmeta_images[i].partition_name
                     << " for partition: " << partition_name.c_str();
            continue;