[pulseaudio-discuss] [PATCH] rtkit: Fail with explanation on grsec
Stanisław Pitucha
viraptor at gmail.com
Fri Jan 22 21:37:35 PST 2016
In case of grsec kernel, make sure that we can actually see other
processes. If the system is restricted via "chroot_findtask" sysctl or
CONFIG_GRKERNSEC_PROC, rtkit won't be able to monitor other processes,
but the error message is just a generic "Operation not permitted".
Since this prevents rtkit from working at all, just fail fast and loud
at startup instead.
---
rtkit-daemon.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/rtkit-daemon.c b/rtkit-daemon.c
index 3ecc1f7..294736c 100644
--- a/rtkit-daemon.c
+++ b/rtkit-daemon.c
@@ -1759,6 +1759,7 @@ static int drop_privileges(void) {
}
if (do_chroot) {
+ FILE* init_stat;
/* Second, chroot() */
if (chroot("/proc") < 0 ||
@@ -1769,6 +1770,14 @@ static int drop_privileges(void) {
}
proc = "/";
+ init_stat = fopen("/1/stat", "r");
+ if (init_stat == NULL) {
+ r = -errno;
+ syslog(LOG_ERR, "Cannot see other processes in chroot. Check 'chroot_findtask' if using grsec, or use --no-chroot.\n");
+ return r;
+ }
+ fclose(init_stat);
+
syslog(LOG_DEBUG, "Successfully called chroot.\n");
}
--
2.7.0
More information about the pulseaudio-discuss
mailing list