projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
librarize run_as
[lttng-tools.git]
/
lttng-sessiond
/
ust-app.c
diff --git
a/lttng-sessiond/ust-app.c
b/lttng-sessiond/ust-app.c
index 77dcc71a6fee77bbcc28d1298eb90355566fb630..384d85e23a07df05ee73b9fd8ab617aa5f4485aa 100644
(file)
--- a/
lttng-sessiond/ust-app.c
+++ b/
lttng-sessiond/ust-app.c
@@
-25,10
+25,12
@@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
+#include <runas.h>
#include <urcu/compiler.h>
#include <lttngerr.h>
#include <lttng-share.h>
#include <urcu/compiler.h>
#include <lttngerr.h>
#include <lttng-share.h>
+#include <runas.h>
#include "hashtable.h"
#include "ust-app.h"
#include "hashtable.h"
#include "ust-app.h"
@@
-1167,7
+1169,6
@@
static int create_ust_app_metadata(struct ust_app_session *ua_sess,
char *pathname, struct ust_app *app)
{
int ret = 0;
char *pathname, struct ust_app *app)
{
int ret = 0;
- mode_t old_umask;
if (ua_sess->metadata == NULL) {
/* Allocate UST metadata */
if (ua_sess->metadata == NULL) {
/* Allocate UST metadata */
@@
-1193,18
+1194,12
@@
static int create_ust_app_metadata(struct ust_app_session *ua_sess,
goto error;
}
goto error;
}
- old_umask = umask(0);
-
ret = mkdir(ua_sess->path, S_IRWXU | S_IRWXG
);
+ ret = mkdir_run_as(ua_sess->path, S_IRWXU | S_IRWXG,
+
ua_sess->uid, ua_sess->gid
);
if (ret < 0) {
PERROR("mkdir UST metadata");
goto error;
}
if (ret < 0) {
PERROR("mkdir UST metadata");
goto error;
}
- ret = chown(ua_sess->path, ua_sess->uid, ua_sess->gid);
- if (ret < 0) {
- ERR("Unable to change owner of %s", ua_sess->path);
- perror("chown");
- }
- umask(old_umask);
ret = snprintf(ua_sess->metadata->pathname, PATH_MAX,
"%s/metadata", ua_sess->path);
ret = snprintf(ua_sess->metadata->pathname, PATH_MAX,
"%s/metadata", ua_sess->path);
This page took
0.027484 seconds
and
5
git commands to generate.