Mount sys before trying to mount selinuxfs
If /sys is not present, the attempt to mount selinuxfs will of course fail. So we try to mount /sys first (and only if that fails fall back to the /selinux mount point) and then try to mount selinuxfs. Signed-off-by: Sven Vermeulen <sven.vermeulen@siphos.be>
This commit is contained in:
parent
3b44fe10e5
commit
6068fcb361
1 changed files with 10 additions and 2 deletions
|
@ -370,8 +370,16 @@ int selinux_init_load_policy(int *enforce)
|
|||
* mount it if present for use in the calls below.
|
||||
*/
|
||||
const char *mntpoint = NULL;
|
||||
if (mount(SELINUXFS, SELINUXMNT, SELINUXFS, 0, 0) == 0 || errno == EBUSY) {
|
||||
mntpoint = SELINUXMNT;
|
||||
/* First make sure /sys is mounted */
|
||||
if (mount("sysfs", "/sys", "sysfs", 0, 0) == 0 || errno == EBUSY) {
|
||||
if (mount(SELINUXFS, SELINUXMNT, SELINUXFS, 0, 0) == 0 || errno == EBUSY) {
|
||||
mntpoint = SELINUXMNT;
|
||||
} else {
|
||||
/* check old mountpoint */
|
||||
if (mount(SELINUXFS, OLDSELINUXMNT, SELINUXFS, 0, 0) == 0 || errno == EBUSY) {
|
||||
mntpoint = OLDSELINUXMNT;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* check old mountpoint */
|
||||
if (mount(SELINUXFS, OLDSELINUXMNT, SELINUXFS, 0, 0) == 0 || errno == EBUSY) {
|
||||
|
|
Loading…
Reference in a new issue