Merge "update_verifier: Set the success flag if dm-verity is not enabled."
diff --git a/update_verifier/Android.mk b/update_verifier/Android.mk
index 49d19b0..c1051a5 100644
--- a/update_verifier/Android.mk
+++ b/update_verifier/Android.mk
@@ -32,4 +32,8 @@
 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)
diff --git a/update_verifier/update_verifier.cpp b/update_verifier/update_verifier.cpp
index a4799cc..83b1c46 100644
--- a/update_verifier/update_verifier.cpp
+++ b/update_verifier/update_verifier.cpp
@@ -216,6 +216,8 @@
 
   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 @@
       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; });