X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=d559306cb323a7578d62058063777d2a07466d21;hb=b6d6994637efb90c3a237e8f3be533c4d9484bb5;hp=fa6fa4830e468efc0180a88e1888434f67955a25;hpb=e8b552f981163a4d4eb831326cd4de8e07dff219;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index fa6fa4830..d559306cb 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -2652,6 +2652,12 @@ static int init_kernel_tracer(void) } DBG("Kernel tracer fd %d", kernel_tracer_fd); + + ret = syscall_init_table(); + if (ret < 0) { + ERR("Unable to populate syscall table. Syscall tracing won't " + "work for this session daemon."); + } return 0; error_version: @@ -4111,9 +4117,17 @@ static void *thread_manage_health(void *data) } if (is_root) { + gid_t gid; + /* lttng health client socket path permissions */ + ret = utils_get_group_id(config.tracing_group_name.value, true, + &gid); + if (ret) { + /* Default to root group. */ + gid = 0; + } ret = chown(config.health_unix_sock_path.value, 0, - utils_get_group_id(config.tracing_group_name.value)); + gid); if (ret < 0) { ERR("Unable to set group on %s", config.health_unix_sock_path.value); PERROR("chown"); @@ -5238,7 +5252,11 @@ static int set_permissions(char *rundir) int ret; gid_t gid; - gid = utils_get_group_id(config.tracing_group_name.value); + ret = utils_get_group_id(config.tracing_group_name.value, true, &gid); + if (ret) { + /* Default to root group. */ + gid = 0; + } /* Set lttng run dir */ ret = chown(rundir, 0, gid); @@ -5349,7 +5367,16 @@ static int set_consumer_sockets(struct consumer_data *consumer_data) goto error; } if (is_root) { - ret = chown(path, 0, utils_get_group_id(config.tracing_group_name.value)); + gid_t gid; + + ret = utils_get_group_id(config.tracing_group_name.value, true, + &gid); + if (ret) { + /* Default to root group. */ + gid = 0; + } + + ret = chown(path, 0, gid); if (ret < 0) { ERR("Unable to set group on %s", path); PERROR("chown"); @@ -5750,14 +5777,6 @@ int main(int argc, char **argv) /* Setup kernel tracer */ if (!config.no_kernel) { init_kernel_tracer(); - if (kernel_tracer_fd >= 0) { - ret = syscall_init_table(); - if (ret < 0) { - ERR("Unable to populate syscall table. " - "Syscall tracing won't work " - "for this session daemon."); - } - } } /* Set ulimit for open files */