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@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;
sanlock-devel@lists.fedorahosted.org