Add kernel uid/gid contexts
[lttng-tools.git] / src / bin / lttng-sessiond / context.c
index 3861d22c1e3b7cf28275badf86fb388fddfd2bd0..1bb7310a6cb60c53919f907ee7667b4c2e0939a1 100644 (file)
@@ -107,7 +107,8 @@ error:
  */
 static int add_uctx_to_channel(struct ltt_ust_session *usess,
                enum lttng_domain_type domain,
-               struct ltt_ust_channel *uchan, struct lttng_event_context *ctx)
+               struct ltt_ust_channel *uchan,
+               const struct lttng_event_context *ctx)
 {
        int ret;
        struct ltt_ust_context *uctx = NULL;
@@ -196,7 +197,7 @@ duplicate:
  * Add kernel context to tracer.
  */
 int context_kernel_add(struct ltt_kernel_session *ksession,
-               struct lttng_event_context *ctx, char *channel_name)
+               const struct lttng_event_context *ctx, char *channel_name)
 {
        int ret;
        struct ltt_kernel_channel *kchan;
@@ -266,6 +267,63 @@ int context_kernel_add(struct ltt_kernel_session *ksession,
        case LTTNG_EVENT_CONTEXT_CALLSTACK_USER:
                kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_CALLSTACK_USER;
                break;
+       case LTTNG_EVENT_CONTEXT_CGROUP_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_CGROUP_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_IPC_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_IPC_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_MNT_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_MNT_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_NET_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_NET_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_PID_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_PID_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_USER_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_USER_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_UTS_NS:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_UTS_NS;
+               break;
+       case LTTNG_EVENT_CONTEXT_UID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_UID;
+               break;
+       case LTTNG_EVENT_CONTEXT_EUID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_EUID;
+               break;
+       case LTTNG_EVENT_CONTEXT_SUID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_SUID;
+               break;
+       case LTTNG_EVENT_CONTEXT_GID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_GID;
+               break;
+       case LTTNG_EVENT_CONTEXT_EGID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_EGID;
+               break;
+       case LTTNG_EVENT_CONTEXT_SGID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_SGID;
+               break;
+       case LTTNG_EVENT_CONTEXT_VUID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_VUID;
+               break;
+       case LTTNG_EVENT_CONTEXT_VEUID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_VEUID;
+               break;
+       case LTTNG_EVENT_CONTEXT_VSUID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_VSUID;
+               break;
+       case LTTNG_EVENT_CONTEXT_VGID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_VGID;
+               break;
+       case LTTNG_EVENT_CONTEXT_VEGID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_VEGID;
+               break;
+       case LTTNG_EVENT_CONTEXT_VSGID:
+               kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_VSGID;
+               break;
        default:
                ret = LTTNG_ERR_KERN_CONTEXT_FAIL;
                goto error;
@@ -313,7 +371,8 @@ error:
  * Add UST context to tracer.
  */
 int context_ust_add(struct ltt_ust_session *usess,
-               enum lttng_domain_type domain, struct lttng_event_context *ctx,
+               enum lttng_domain_type domain,
+               const struct lttng_event_context *ctx,
                char *channel_name)
 {
        int ret = LTTNG_OK;
This page took 0.024043 seconds and 4 git commands to generate.