X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=liblttng-kconsumer%2Flttng-kconsumer.c;h=2b69438cadb2b1e7d469ecd5c9f671b5aa36e670;hp=e9861f20fb6b2e11103dacfc8bf36c7e0b77c527;hb=0857097f7cd49f503c966eb42716415dd5540352;hpb=d41f73b7cb50d57974bd1fad22342abaf9718566 diff --git a/liblttng-kconsumer/lttng-kconsumer.c b/liblttng-kconsumer/lttng-kconsumer.c index e9861f20f..2b69438ca 100644 --- a/liblttng-kconsumer/lttng-kconsumer.c +++ b/liblttng-kconsumer/lttng-kconsumer.c @@ -34,6 +34,8 @@ #include #include +#include "common/runas.h" + extern struct lttng_consumer_global_data consumer_data; extern int consumer_poll_timeout; extern volatile int consumer_quit; @@ -256,7 +258,9 @@ int lttng_kconsumer_recv_cmd(struct lttng_consumer_local_data *ctx, msg.u.stream.state, msg.u.stream.mmap_len, msg.u.stream.output, - msg.u.stream.path_name); + msg.u.stream.path_name, + msg.u.stream.uid, + msg.u.stream.gid); if (new_stream == NULL) { lttng_consumer_send_error(ctx, CONSUMERD_OUTFD_ERROR); goto end; @@ -393,8 +397,10 @@ int lttng_kconsumer_on_recv_stream(struct lttng_consumer_stream *stream) /* Opening the tracefile in write mode */ if (stream->path_name != NULL) { - ret = open(stream->path_name, - O_WRONLY|O_CREAT|O_TRUNC, S_IRWXU|S_IRWXG|S_IRWXO); + ret = open_run_as(stream->path_name, + O_WRONLY|O_CREAT|O_TRUNC, + S_IRWXU|S_IRWXG|S_IRWXO, + stream->uid, stream->gid); if (ret < 0) { ERR("Opening %s", stream->path_name); perror("open");