Add fix for Debian bug #580272
This commit is contained in:
parent
ba54bb9ac4
commit
5114500187
@ -7,6 +7,10 @@ sysvinit (2.89dsf) UNRELEASED; urgency=low
|
|||||||
* Include limits.h in killall.c to enforce definition of PATH_MAX
|
* Include limits.h in killall.c to enforce definition of PATH_MAX
|
||||||
* Fix sysvinit bug #29758 Linker invocation should not contain
|
* Fix sysvinit bug #29758 Linker invocation should not contain
|
||||||
headers. Change based on patch from Elias Pipping.
|
headers. Change based on patch from Elias Pipping.
|
||||||
|
* Add fix for Debian bug #580272: use return value 1 of
|
||||||
|
is_selinux_enabled() to determine if SELinux is enabled,
|
||||||
|
otherwise initialize SELinux and load the policy. Patch from
|
||||||
|
Petter Reinholdtsen.
|
||||||
|
|
||||||
[ Petter Reinholdtsen ]
|
[ Petter Reinholdtsen ]
|
||||||
* Next release will be 2.89dsf.
|
* Next release will be 2.89dsf.
|
||||||
|
11
src/init.c
11
src/init.c
@ -54,10 +54,6 @@
|
|||||||
|
|
||||||
#ifdef WITH_SELINUX
|
#ifdef WITH_SELINUX
|
||||||
# include <selinux/selinux.h>
|
# include <selinux/selinux.h>
|
||||||
# include <sys/mount.h>
|
|
||||||
# ifndef MNT_DETACH /* present in glibc 2.10, missing in 2.7 */
|
|
||||||
# define MNT_DETACH 2
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __i386__
|
#ifdef __i386__
|
||||||
@ -2872,11 +2868,9 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
#ifdef WITH_SELINUX
|
#ifdef WITH_SELINUX
|
||||||
if (getenv("SELINUX_INIT") == NULL) {
|
if (getenv("SELINUX_INIT") == NULL) {
|
||||||
const int rc = mount("proc", "/proc", "proc", 0, 0);
|
if (is_selinux_enabled() != 1) {
|
||||||
if (is_selinux_enabled() > 0) {
|
|
||||||
putenv("SELINUX_INIT=YES");
|
|
||||||
if (rc == 0) umount2("/proc", MNT_DETACH);
|
|
||||||
if (selinux_init_load_policy(&enforce) == 0) {
|
if (selinux_init_load_policy(&enforce) == 0) {
|
||||||
|
putenv("SELINUX_INIT=YES");
|
||||||
execv(myname, argv);
|
execv(myname, argv);
|
||||||
} else {
|
} else {
|
||||||
if (enforce > 0) {
|
if (enforce > 0) {
|
||||||
@ -2887,7 +2881,6 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (rc == 0) umount2("/proc", MNT_DETACH);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* Start booting. */
|
/* Start booting. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user