Merge \"Only restorecon CE storage after unlocked.\" into nyc-mr1-dev
am: 96f387e8c0
Change-Id: I3a1c31334d32e7bdff8e05558356d2833fcfb831
This commit is contained in:
commit
91404d9481
3 changed files with 12 additions and 1 deletions
|
|
@ -861,8 +861,12 @@ static int do_restorecon_recursive(const std::vector<std::string>& args) {
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
for (auto it = std::next(args.begin()); it != args.end(); ++it) {
|
for (auto it = std::next(args.begin()); it != args.end(); ++it) {
|
||||||
if (restorecon_recursive(it->c_str()) < 0)
|
/* The contents of CE paths are encrypted on FBE devices until user
|
||||||
|
* credentials are presented (filenames inside are mangled), so we need
|
||||||
|
* to delay restorecon of those until vold explicitly requests it. */
|
||||||
|
if (restorecon_recursive_skipce(it->c_str()) < 0) {
|
||||||
ret = -errno;
|
ret = -errno;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -362,6 +362,12 @@ int restorecon_recursive(const char* pathname)
|
||||||
return selinux_android_restorecon(pathname, SELINUX_ANDROID_RESTORECON_RECURSE);
|
return selinux_android_restorecon(pathname, SELINUX_ANDROID_RESTORECON_RECURSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int restorecon_recursive_skipce(const char* pathname)
|
||||||
|
{
|
||||||
|
return selinux_android_restorecon(pathname,
|
||||||
|
SELINUX_ANDROID_RESTORECON_RECURSE | SELINUX_ANDROID_RESTORECON_SKIPCE);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Writes hex_len hex characters (1/2 byte) to hex from bytes.
|
* Writes hex_len hex characters (1/2 byte) to hex from bytes.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ void import_kernel_cmdline(bool in_qemu,
|
||||||
int make_dir(const char *path, mode_t mode);
|
int make_dir(const char *path, mode_t mode);
|
||||||
int restorecon(const char *pathname);
|
int restorecon(const char *pathname);
|
||||||
int restorecon_recursive(const char *pathname);
|
int restorecon_recursive(const char *pathname);
|
||||||
|
int restorecon_recursive_skipce(const char *pathname);
|
||||||
std::string bytes_to_hex(const uint8_t *bytes, size_t bytes_len);
|
std::string bytes_to_hex(const uint8_t *bytes, size_t bytes_len);
|
||||||
bool is_dir(const char* pathname);
|
bool is_dir(const char* pathname);
|
||||||
bool expand_props(const std::string& src, std::string* dst);
|
bool expand_props(const std::string& src, std::string* dst);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue