From b2f682bda8443fb93ab67f19be84fd80d5ed2838 Mon Sep 17 00:00:00 2001 From: Paul Lawrence Date: Mon, 8 Sep 2014 11:28:19 -0700 Subject: [PATCH] Fix Shamus bricked by encryption upgrade Bug: 17358530 Change-Id: I95207b62131224a2ed7ae3b75621a09acd69ea79 --- cryptfs.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cryptfs.c b/cryptfs.c index b729616..563acbc 100644 --- a/cryptfs.c +++ b/cryptfs.c @@ -1788,6 +1788,17 @@ static int test_mount_encrypted_fs(struct crypt_mnt_ftr* crypt_ftr, rc = put_crypt_ftr_and_key(crypt_ftr); } SLOGD("Key Derivation Function upgrade: rc=%d\n", rc); + + // Do not fail even if upgrade failed - machine is bootable + // Note that if this code is ever hit, there is a *serious* problem + // since KDFs should never fail. You *must* fix the kdf before + // proceeding! + if (rc) { + SLOGW("Upgrade failed with error %d," + " but continuing with previous state", + rc); + rc = 0; + } } }