summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2017-03-11 02:32:43 +0100
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-03-11 02:32:44 +0100
commita7211b3c16b55e127ddcad1c426f356a9e02ff84 (patch)
tree48cef153e56085e8d73e9c097d379d6d696d498d
parentMerge "recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIs" (diff)
parentupdate_verifier: Set the success flag if dm-verity is not enabled. (diff)
downloadandroid_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.tar
android_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.tar.gz
android_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.tar.bz2
android_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.tar.lz
android_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.tar.xz
android_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.tar.zst
android_bootable_recovery-a7211b3c16b55e127ddcad1c426f356a9e02ff84.zip
-rw-r--r--update_verifier/Android.mk4
-rw-r--r--update_verifier/update_verifier.cpp5
2 files changed, 9 insertions, 0 deletions
diff --git a/update_verifier/Android.mk b/update_verifier/Android.mk
index 49d19b0e1..c1051a54a 100644
--- a/update_verifier/Android.mk
+++ b/update_verifier/Android.mk
@@ -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)
diff --git a/update_verifier/update_verifier.cpp b/update_verifier/update_verifier.cpp
index a4799cc31..83b1c46c4 100644
--- a/update_verifier/update_verifier.cpp
+++ b/update_verifier/update_verifier.cpp
@@ -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; });