Merge "Revert "Enable metadata encryption""

This commit is contained in:
Guang Zhu 2017-04-29 00:01:34 +00:00 committed by Android (Google) Code Review
commit ea43a7e4ea
3 changed files with 23 additions and 5 deletions

View file

@ -212,14 +212,34 @@ static bool prep_data_fs(void)
// callers to this method must be async
/* Do the prep of the /data filesystem */
property_set("vold.post_fs_data_done", "0");
property_set("vold.decrypt", "trigger_post_fs_data");
property_set("vold.decrypt", "trigger_restart_framework");
return true;
LOG(DEBUG) << "Waiting for post_fs_data_done";
/* Wait a max of 50 seconds, hopefully it takes much less */
for (int i = 0; ; i++) {
char p[PROPERTY_VALUE_MAX];
property_get("vold.post_fs_data_done", p, "0");
if (*p == '1') {
LOG(INFO) << "Successful data prep";
return true;
}
if (i + 1 == DATA_PREP_TIMEOUT) {
LOG(ERROR) << "post_fs_data timed out";
return false;
}
usleep(50000);
}
}
static void async_kick_off() {
LOG(DEBUG) << "Asynchronously restarting framework";
sleep(2); // TODO: this mirrors cryptfs, but can it be made shorter?
property_set("vold.decrypt", "trigger_load_persist_props");
if (!prep_data_fs()) return;
/* startup service classes main and late_start */
property_set("vold.decrypt", "trigger_restart_framework");
}
bool e4crypt_mount_metadata_encrypted() {
@ -286,6 +306,7 @@ bool e4crypt_enable_crypto() {
property_set("ro.crypto.type", "file");
mount_via_fs_mgr(data_rec->mount_point, crypto_blkdev.c_str());
property_set("vold.decrypt", "trigger_reset_main");
std::thread(&async_kick_off).detach();
return true;
}

View file

@ -2826,7 +2826,6 @@ int cryptfs_mount_default_encrypted(void)
} else if (crypt_type != CRYPT_TYPE_DEFAULT) {
SLOGD("Password is not default - "
"starting min framework to prompt");
property_set("vold.decrypt", "trigger_post_fs_data");
property_set("vold.decrypt", "trigger_restart_min_framework");
return 0;
} else if (cryptfs_check_passwd(DEFAULT_PASSWORD) == 0) {

2
vdc.rc
View file

@ -1,6 +1,5 @@
# One shot invocation to deal with encrypted volume.
on defaultcrypto
start vold
exec - root -- /system/bin/vdc --wait cryptfs mountdefaultencrypted
# vold will set vold.decrypt to trigger_restart_framework (default
# encryption) or trigger_restart_min_framework (other encryption)
@ -8,7 +7,6 @@ on defaultcrypto
# One shot invocation to encrypt unencrypted volumes
on encrypt
start surfaceflinger
start vold
exec - root -- /system/bin/vdc --wait cryptfs enablecrypto inplace default noui
# vold will set vold.decrypt to trigger_restart_framework (default
# encryption)