Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96f387e8 authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

Merge "Only restorecon CE storage after unlocked." into nyc-mr1-dev

parents efa8604a 1635afe8
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -875,9 +875,13 @@ static int do_restorecon_recursive(const std::vector<std::string>& args) {
    int ret = 0;

    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;
        }
    }
    return ret;
}

+6 −0
Original line number Diff line number Diff line
@@ -471,6 +471,12 @@ int restorecon_recursive(const char* pathname)
    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.
 */
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ void import_kernel_cmdline(bool in_qemu,
int make_dir(const char *path, mode_t mode);
int restorecon(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);
bool is_dir(const char* pathname);
bool expand_props(const std::string& src, std::string* dst);