update_verifier: Set the success flag if dm-verity is not enabled.
For devices that are not using dm-verity, update_verifier can't verify anything, but to mark the successfully booted flag unconditionally. Test: Successfully-booted flag is set on devices w/o dm-verity. Test: Successfully-booted flag is set after verification on devices w/ dm-verity. Change-Id: I79ab2caec2d4284aad0d66dd161adabebde175b6
This commit is contained in:
parent
7a0dfec771
commit
db57f0d7f4
2 changed files with 9 additions and 0 deletions
|
@ -32,4 +32,8 @@ LOCAL_SHARED_LIBRARIES := \
|
|||
LOCAL_CFLAGS := -Werror
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
|
||||
|
||||
ifeq ($(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_VERITY),true)
|
||||
LOCAL_CFLAGS += -DPRODUCT_SUPPORTS_VERITY=1
|
||||
endif
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
|
|
@ -216,6 +216,8 @@ int main(int argc, char** argv) {
|
|||
|
||||
if (is_successful == BoolResult::FALSE) {
|
||||
// The current slot has not booted successfully.
|
||||
|
||||
#ifdef PRODUCT_SUPPORTS_VERITY
|
||||
std::string verity_mode = android::base::GetProperty("ro.boot.veritymode", "");
|
||||
if (verity_mode.empty()) {
|
||||
LOG(ERROR) << "Failed to get dm-verity mode.";
|
||||
|
@ -232,6 +234,9 @@ int main(int argc, char** argv) {
|
|||
LOG(ERROR) << "Failed to verify all blocks in care map file.";
|
||||
return -1;
|
||||
}
|
||||
#else
|
||||
LOG(WARNING) << "dm-verity not enabled; marking without verification.";
|
||||
#endif
|
||||
|
||||
CommandResult cr;
|
||||
module->markBootSuccessful([&cr](CommandResult result) { cr = result; });
|
||||
|
|
Loading…
Reference in a new issue