The helper process inherits the sanlock main process groups, but it does
not need them. Clear the helper groups after fork.
Signed-off-by: Nir Soffer <nsoffer(a)redhat.com>
---
src/helper.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/helper.c b/src/helper.c
index 27898d5..fffe00c 100644
--- a/src/helper.c
+++ b/src/helper.c
@@ -25,6 +25,7 @@
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/prctl.h>
+#include <grp.h>
#include "sanlock.h"
#include "monotime.h"
@@ -159,6 +160,11 @@ int run_helper(int in_fd, int out_fd, int log_stderr)
sprintf(name, "%s", "sanlock-helper");
prctl(PR_SET_NAME, (unsigned long)name, 0, 0, 0);
+ rv = setgroups(0, NULL);
+ if (rv < 0) {
+ log_debug("error clearing helper groups errno %i", errno);
+ }
+
memset(&pollfd, 0, sizeof(pollfd));
pollfd.fd = in_fd;
pollfd.events = POLLIN;
--
2.4.3
Show replies by date