Merge "Delete the checkin directory with the wrong context" am: 2c48d37a29

Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1866819

Change-Id: Ia1fd614583176ced6135b8dfb4be8760273d9eec
This commit is contained in:
Tianjie Xu 2021-10-25 21:13:23 +00:00 committed by Automerger Merge Worker
commit 821e6c7db4

View file

@ -215,7 +215,15 @@ static bool prepare_subdirs(const std::string& volume_uuid, int user_id, int fla
// the user id to set the correct selinux mls_level. // the user id to set the correct selinux mls_level.
if (!prepare_dir_for_user(sehandle, 0770, AID_SYSTEM, AID_CACHE, if (!prepare_dir_for_user(sehandle, 0770, AID_SYSTEM, AID_CACHE,
misc_ce_path + "/checkin", user_id)) { misc_ce_path + "/checkin", user_id)) {
return false; // TODO(b/203742483) the checkin directory was created with the wrong permission &
// context. Delete the directory to get these devices out of the bad state. Revert
// the change once the droidfood population is on newer build.
LOG(INFO) << "Failed to prepare the checkin directory, deleting for recreation";
android::vold::DeleteDirContentsAndDir(misc_ce_path + "/checkin");
if (!prepare_dir_for_user(sehandle, 0770, AID_SYSTEM, AID_CACHE,
misc_ce_path + "/checkin", user_id)) {
return false;
}
} }
auto system_ce_path = android::vold::BuildDataSystemCePath(user_id); auto system_ce_path = android::vold::BuildDataSystemCePath(user_id);