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

Commit 4ef9fcce authored by Yi-Yo Chiang's avatar Yi-Yo Chiang
Browse files

set-verity-state: Simplify code path around overlayfs_setup()

Original code:
  Calls |overlayfs_setup()| if |any_changed| is false
  |any_changed| is true implies |set_avb_verity_enabled_state()| is true
  which implies |overlayfs_setup()| is called by it.

All this means |overlayfs_setup()| is called exactly once regardless of
the value of |any_changed|, so simplify the logic to the above observation.

Bug: 241688845
Test: Presubmit
Change-Id: Ifcbae8db7fdda2f7576769cb4a213c305c670709
parent 0b179f20
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -86,7 +86,6 @@ static bool set_avb_verity_enabled_state(AvbOps* ops, bool enable_verity) {
    return false;
  }

  overlayfs_setup(enable_verity);
  printf("Successfully %s verity\n", enable_verity ? "enabled" : "disabled");
  return true;
}
@@ -122,8 +121,6 @@ int main(int argc, char* argv[]) {

  bool enable = enable_opt.value();

  bool any_changed = false;

  // Figure out if we're using VB1.0 or VB2.0 (aka AVB) - by
  // contract, androidboot.vbmeta.digest is set by the bootloader
  // when using AVB).
@@ -151,6 +148,7 @@ int main(int argc, char* argv[]) {
    return 0;
  }

  bool any_changed = false;
  if (using_avb) {
    // Yep, the system is using AVB.
    AvbOps* ops = avb_ops_user_new();
@@ -158,12 +156,10 @@ int main(int argc, char* argv[]) {
      printf("Error getting AVB ops\n");
      return 1;
    }
    if (set_avb_verity_enabled_state(ops, enable)) {
      any_changed = true;
    }
    any_changed |= set_avb_verity_enabled_state(ops, enable);
    avb_ops_user_free(ops);
  }
  if (!any_changed) any_changed = overlayfs_setup(enable);
  any_changed |= overlayfs_setup(enable);

  if (any_changed) {
    printf("Now reboot your device for settings to take effect\n");