selinux: selinuxfs can be mounted on /sys/fs/selinux

The kernel now provides the /sys/fs/selinux mountpoint and libselinux
prefers it if it's available.

systemd currently tests only for /selinux and this leads to an infinite
loop of policy reloads in the latest Rawhide.

Fix it by checking both possible mountpoints.
Also add the new path to ignore_paths[].

/selinux appears also in nspawn.c. I don't think it's necessary to
change it there at this point.

https://bugzilla.redhat.com/show_bug.cgi?id=711015
This commit is contained in:
Michal Schmidt 2011-06-07 00:48:16 +02:00 committed by Kay Sievers
parent aae5220d96
commit ef9d7dca54
2 changed files with 3 additions and 1 deletions

View File

@ -63,6 +63,7 @@ static const MountPoint mount_table[] = {
* we just list them here so that we know that we should ignore them */
static const char * const ignore_paths[] = {
"/sys/fs/selinux",
"/selinux",
"/proc/bus/usb"
};

View File

@ -39,7 +39,8 @@ int selinux_setup(char *const argv[]) {
int enforce = 0;
/* Already initialized? */
if (path_is_mount_point("/selinux") > 0)
if (path_is_mount_point("/sys/fs/selinux") > 0 ||
path_is_mount_point("/selinux") > 0)
return 0;
/* Before we load the policy we create a flag file to ensure