1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-19 22:50:17 +03:00

selinux: check PID 1 label instead of /selinux mount point to figure out if selinux is already initialized

This commit is contained in:
Lennart Poettering 2011-07-25 21:59:05 +02:00
parent 871e580949
commit 0843f2d65e

View File

@ -38,11 +38,18 @@ int selinux_setup(char *const argv[]) {
#ifdef HAVE_SELINUX
int enforce = 0;
usec_t n;
security_context_t con;
/* Already initialized? */
if (path_is_mount_point("/sys/fs/selinux") > 0 ||
path_is_mount_point("/selinux") > 0)
return 0;
if (getcon_raw(&con) == 0) {
bool initialized;
initialized = !streq(con, "kernel");
freecon(con);
if (initialized)
return 0;
}
/* Before we load the policy we create a flag file to ensure
* that after the reexec we iterate through /run and /dev to