Enable detection of failed encryption process, for bug 3384231.
Need to detect if the encryption process didn't finish successfully, and if
so, provide a way for the UI to detect that and give the user an option to
wipe the system clean. Otherwise, the user is stuck in a reboot loop, and
they will need to do magic button presses to enter recovery and wipe the
device to get out of it.
Change-Id: I58253e1e523ee42bdd1a59aa7d8a9d20071bd18b
diff --git a/cryptfs.c b/cryptfs.c
index f25fba7..440221e 100644
--- a/cryptfs.c
+++ b/cryptfs.c
@@ -1038,9 +1038,7 @@
/* Initialize a crypt_mnt_ftr for the partition */
cryptfs_init_crypt_mnt_ftr(&crypt_ftr);
crypt_ftr.fs_size = nr_sec - (CRYPT_FOOTER_OFFSET / 512);
-#if 0 /* Disable till MR1, needs more testing */
crypt_ftr.flags |= CRYPT_ENCRYPTION_IN_PROGRESS;
-#endif
strcpy((char *)crypt_ftr.crypto_type_name, "aes-cbc-essiv:sha256");
/* Make an encrypted master key */
@@ -1071,11 +1069,9 @@
if (! rc) {
/* Success */
-#if 0 /* Disable till MR1, needs more testing */
/* Clear the encryption in progres flag in the footer */
crypt_ftr.flags &= ~CRYPT_ENCRYPTION_IN_PROGRESS;
put_crypt_ftr_and_key(real_blkdev, &crypt_ftr, 0, 0);
-#endif
sleep(2); /* Give the UI a change to show 100% progress */
sync();