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

Commit fb9b7de4 authored by Yi-yo Chiang's avatar Yi-yo Chiang Committed by Gerrit Code Review
Browse files

Merge "remount: Treat disable verity error as fatal only if verity is enabled"

parents 3fca6e72 b4a86eeb
Loading
Loading
Loading
Loading
+17 −12
Original line number Diff line number Diff line
@@ -479,19 +479,24 @@ bool do_remount(Fstab& fstab, const std::vector<std::string>& partition_args,

    // Disable verity.
    auto verity_result = SetVerityState(false /* enable_verity */);

    // Treat error as fatal and suggest reboot only if verity is enabled.
    // TODO(b/260041315): We check the device mapper for any "<partition>-verity" device present
    // instead of checking ro.boot.veritymode because emulator has incorrect property value.
    bool must_disable_verity = false;
    for (const auto& partition : partitions) {
        if (fs_mgr_is_verity_enabled(partition)) {
            must_disable_verity = true;
            break;
        }
    }
    if (must_disable_verity) {
        if (!verity_result.success) {
            return false;
        }
        if (verity_result.want_reboot) {
        // TODO(b/259207493): emulator has incorrect androidboot.veritymode value, causing
        // .want_reboot to always be true. In order to workaround this, double check device mapper
        // to see if verity is already disabled.
        for (const auto& partition : partitions) {
            if (fs_mgr_is_verity_enabled(partition)) {
            check_result->reboot_later = true;
            check_result->disabled_verity = true;
                break;
            }
        }
    }

+6 −3
Original line number Diff line number Diff line
@@ -1422,9 +1422,12 @@ LOG OK "/system/build.prop content remains after reboot"
LOG RUN "flash vendor, and confirm vendor override disappears"

is_bootloader_fastboot=true
# cuttlefish?
[[ "$(get_property ro.product.vendor.device)" == vsoc_* ]] &&
# virtual device?
case "$(get_property ro.product.vendor.device)" in
  vsoc_* | emulator_* | emulator64_*)
    is_bootloader_fastboot=false
    ;;
esac
is_userspace_fastboot=false

if ! ${is_bootloader_fastboot}; then