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
diff --git a/set-verity-state/set-verity-state.cpp b/set-verity-state/set-verity-state.cpp
index 1ebfd23..e132263 100644
--- a/set-verity-state/set-verity-state.cpp
+++ b/set-verity-state/set-verity-state.cpp
@@ -86,7 +86,6 @@
return false;
}
- overlayfs_setup(enable_verity);
printf("Successfully %s verity\n", enable_verity ? "enabled" : "disabled");
return true;
}
@@ -122,8 +121,6 @@
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 @@
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 @@
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");