OSDN Git Service

Check and restorecon cache/code_cache directories.
authorJeff Sharkey <jsharkey@android.com>
Mon, 31 Oct 2016 17:22:19 +0000 (11:22 -0600)
committerJeff Sharkey <jsharkey@google.com>
Mon, 31 Oct 2016 17:23:58 +0000 (17:23 +0000)
commit397ec266753a675e6891c479971e6506491b1b44
treee2a4c7ca37ef773863beee22646383acbd503a7d
parent4e1d67bd32ae1a8bfbc3401f0f6da206fcb48e0c
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
cmds/installd/commands.cpp