Clean-up: sessiond: make some accesses to conditions const
[lttng-tools.git] / src / common / runas.c
index 30bf4263aa3d55c365c99a2ff4e57ef61a7614ed..09fdaf40aaa172356dc7957c5ea072e99a7d0e04 100644 (file)
@@ -22,6 +22,7 @@
 #include <assert.h>
 #include <signal.h>
 
+#include <common/bytecode/bytecode.h>
 #include <common/lttng-kernel.h>
 #include <common/common.h>
 #include <common/utils.h>
@@ -37,7 +38,6 @@
 
 #include <common/sessiond-comm/sessiond-comm.h>
 #include <common/filter/filter-ast.h>
-#include <common/filter/filter-bytecode.h>
 
 #include "runas.h"
 
@@ -1799,15 +1799,16 @@ error:
 
 LTTNG_HIDDEN
 int run_as_generate_filter_bytecode(const char *filter_expression,
-               uid_t uid,
-               gid_t gid,
-               struct lttng_filter_bytecode **bytecode)
+               const struct lttng_credentials *creds,
+               struct lttng_bytecode **bytecode)
 {
        int ret;
        struct run_as_data data = {};
        struct run_as_ret run_as_ret = {};
-       const struct lttng_filter_bytecode *view_bytecode = NULL;
-       struct lttng_filter_bytecode *local_bytecode = NULL;
+       const struct lttng_bytecode *view_bytecode = NULL;
+       struct lttng_bytecode *local_bytecode = NULL;
+       const uid_t uid = lttng_credentials_get_uid(creds);
+       const gid_t gid = lttng_credentials_get_gid(creds);
 
        DBG3("generate_filter_bytecode() from expression=\"%s\" for uid %d and gid %d",
                        filter_expression, (int) uid, (int) gid);
@@ -1825,7 +1826,7 @@ int run_as_generate_filter_bytecode(const char *filter_expression,
                goto error;
        }
 
-       view_bytecode = (const struct lttng_filter_bytecode *) run_as_ret.u.generate_filter_bytecode.bytecode;
+       view_bytecode = (const struct lttng_bytecode *) run_as_ret.u.generate_filter_bytecode.bytecode;
 
        local_bytecode = zmalloc(sizeof(*local_bytecode) + view_bytecode->len);
        if (!local_bytecode) {
This page took 0.023628 seconds and 4 git commands to generate.