From 9eb1296ea9c7badc6aad352238af7460227c317d Mon Sep 17 00:00:00 2001 From: JeongHyeon Lee Date: Wed, 14 Apr 2021 09:05:45 +0900 Subject: [PATCH] Add new dm-verity error handling mode The latest kernel supports dm-verity has new error handling mode(panic). However, there is no code to support in android. Signed-off-by: JeongHyeon Lee Change-Id: Ib88ec258adb76ca4c88df1a78636f73f40604b40 --- fs_mgr/libdm/dm_target.cpp | 4 +++- fs_mgr/libfs_avb/avb_util.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/fs_mgr/libdm/dm_target.cpp b/fs_mgr/libdm/dm_target.cpp index ef46eb972..b0639e611 100644 --- a/fs_mgr/libdm/dm_target.cpp +++ b/fs_mgr/libdm/dm_target.cpp @@ -95,7 +95,9 @@ void DmTargetVerity::UseFec(const std::string& device, uint32_t num_roots, uint3 } void DmTargetVerity::SetVerityMode(const std::string& mode) { - if (mode != "restart_on_corruption" && mode != "ignore_corruption") { + if (mode != "panic_on_corruption" && + mode != "restart_on_corruption" && + mode != "ignore_corruption") { LOG(ERROR) << "Unknown verity mode: " << mode; valid_ = false; return; diff --git a/fs_mgr/libfs_avb/avb_util.cpp b/fs_mgr/libfs_avb/avb_util.cpp index 228867411..31494c189 100644 --- a/fs_mgr/libfs_avb/avb_util.cpp +++ b/fs_mgr/libfs_avb/avb_util.cpp @@ -61,7 +61,9 @@ bool ConstructVerityTable(const FsAvbHashtreeDescriptor& hashtree_desc, // Converts veritymode to the format used in kernel. std::string dm_verity_mode; - if (verity_mode == "enforcing") { + if (verity_mode == "panicking") { + dm_verity_mode = "panic_on_corruption"; + } else if (verity_mode == "enforcing") { dm_verity_mode = "restart_on_corruption"; } else if (verity_mode == "logging") { dm_verity_mode = "ignore_corruption";