Check and restorecon cache/code_cache directories.
To speed up boot times, we recently relaxed SELinux restorecon logic to only consider relabeling app storage when the top level SELinux label changed. However, if an app manually deletes either their cache or code_cache directories, installd will helpfully recreate those directories at the next boot, but they'll be stuck with incorrect SELinux labels which an app can't fix. (Our historically aggressive restorecons had relabeled them, which is why we didn't observe until now.) This change checks the labels of the cache/code_cache directories, and runs a restorecon if needed, fixing the issue above. Test: delete cache and verify recreated with correct label Bug: 32504081 Change-Id: I0114ae4129223e5909b1075d56a9b1145ebc5ef4 (cherry picked from commit 397ec266)
Loading