app: aboot: erase userdata footer when ufs storage is used.
Change-Id: I703831fb4fca78978a3db66312b6b3183f89cce9
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index 892ec72..33d95d6 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -132,6 +132,7 @@
/* make 4096 as default size to ensure EFS,EXT4's erasing */
#define DEFAULT_ERASE_SIZE 4096
#define MAX_PANEL_BUF_SIZE 196
+#define FOOTER_SIZE 16384
#define DISPLAY_DEFAULT_PREFIX "mdss_mdp"
#define BOOT_DEV_MAX_LEN 64
@@ -2473,6 +2474,7 @@
unsigned long long size = 0;
int index = INVALID_PTN;
uint8_t lun = 0;
+ char *footer = NULL;
#if VERIFIED_BOOT
if(!strcmp(arg, KEYSTORE_PTN_NAME))
@@ -2515,6 +2517,21 @@
fastboot_fail("failed to erase partition");
return;
}
+ /*Erase FDE metadata at the userdata footer*/
+ if(!(strncmp(arg, "userdata", 8)))
+ {
+ footer = memalign(CACHE_LINE, FOOTER_SIZE);
+ memset((void *)footer, 0, FOOTER_SIZE);
+
+ size = partition_get_size(index);
+
+ if (mmc_write((ptn + size) - FOOTER_SIZE , FOOTER_SIZE, (unsigned int *)footer)) {
+ fastboot_fail("failed to erase userdata footer");
+ free(footer);
+ return;
+ }
+ free(footer);
+ }
}
#if VERIFIED_BOOT
#if !VBOOT_MOTA