summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcos Marado <mmarado@cyngn.com>2015-03-05 15:14:05 +0000
committerMarcos Marado <mmarado@cyngn.com>2015-03-05 15:14:30 +0000
commit68368dcf02219aae7d26600e8c060c05c7fdfdc1 (patch)
tree3efb16294f1441dc0808393b538cdb2873152c5f
parentc1d985e1346fd6b1d4548f15a492298d758fb3e9 (diff)
downloadandroid_system_vold-stable/cm-11.0-XNG3C.tar.gz
android_system_vold-stable/cm-11.0-XNG3C.tar.bz2
android_system_vold-stable/cm-11.0-XNG3C.zip
some return codes validationstable/cm-11.0-XNG3Cstable/cm-11.0-XNG2S
Change-Id: Ic84fceeabdccab4071d75dc97148a42767201f77
-rw-r--r--cryptfs.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/cryptfs.c b/cryptfs.c
index a2fc4bb..643a546 100644
--- a/cryptfs.c
+++ b/cryptfs.c
@@ -1804,8 +1804,10 @@ int cryptfs_enable(char *howarg, char *passwd)
strlcpy((char *)crypt_ftr.crypto_type_name, "aes-cbc-essiv:sha256", MAX_CRYPTO_TYPE_NAME_LEN);
#else
strlcpy((char *)crypt_ftr.crypto_type_name, "aes-xts", MAX_CRYPTO_TYPE_NAME_LEN);
- if(!set_hw_device_encryption_key(passwd, (char*)crypt_ftr.crypto_type_name))
+ if(!set_hw_device_encryption_key(passwd, (char*)crypt_ftr.crypto_type_name)) {
+ SLOGE("error setting hw device encryption key");
goto error_shutting_down;
+ }
#endif
/* Do extra work for a better UX when doing the long inplace encryption */
@@ -1851,7 +1853,10 @@ int cryptfs_enable(char *howarg, char *passwd)
}
/* Write the key to the end of the partition */
- put_crypt_ftr_and_key(&crypt_ftr);
+ if (put_crypt_ftr_and_key(&crypt_ftr)) {
+ SLOGE("Failed to write the key to the end of the partition\n");
+ goto error_unencrypted;
+ }
/* If any persistent data has been remembered, save it.
* If none, create a valid empty table and save that.
@@ -1867,7 +1872,10 @@ int cryptfs_enable(char *howarg, char *passwd)
save_persistent_data();
}
- decrypt_master_key(passwd, decrypted_master_key, &crypt_ftr);
+ if (decrypt_master_key(passwd, decrypted_master_key, &crypt_ftr)) {
+ SLOGE("failed to decrypt master key\n");
+ goto error_unencrypted;
+ }
create_crypto_blk_dev(&crypt_ftr, decrypted_master_key, real_blkdev, crypto_blkdev,
"userdata");