Revert "Revert "[Feature][API-794]when a/b slot broken, rollback and repair it.-2.system partition rollback""
This reverts commit 3646d814962625eabe3d08fc34323929506fe265.
Reason for revert: <INSERT REASONING HERE>
Change-Id: I27bca8004386b66d474efacaa55c9151607e3e76
diff --git a/src/kernel/linux/v4.19/drivers/md/dm-verity-target.c b/src/kernel/linux/v4.19/drivers/md/dm-verity-target.c
index 758b802..9a422a9 100644
--- a/src/kernel/linux/v4.19/drivers/md/dm-verity-target.c
+++ b/src/kernel/linux/v4.19/drivers/md/dm-verity-target.c
@@ -16,6 +16,7 @@
#include "dm-verity.h"
#include "dm-verity-fec.h"
+#include "../lynq_bootctrl/lynq_bootctrl.h"
#include <linux/module.h>
#include <linux/reboot.h>
@@ -215,6 +216,7 @@
char verity_env[DM_VERITY_ENV_LENGTH];
char *envp[] = { verity_env, NULL };
const char *type_str = "";
+ int ret;
struct mapped_device *md = dm_table_get_md(v->ti->table);
/* Corruption should be visible in device status in all modes */
@@ -255,6 +257,14 @@
#ifdef CONFIG_DM_VERITY_AVB
dm_verity_avb_error_handler();
#endif
+//xf.li@20230313 modify for ab_rollback start
+ printk("BOOTCTRL:dm-verity error, rollback");
+ ret = bootctrl_mark_boot_unsuccessful();
+ if(ret != 0)
+ {
+ printk("BOOTCTRL:error rollback\n");
+ }
+//xf.li@20230313 modify for ab_rollback end
kernel_restart("dm-verity device corrupted");
}