X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Ftrace.c;h=774321e59a7d085edc8a5f50a5eae54652e3c15e;hp=1509edacdf048e92fef749cad90ac8c30e09af7a;hb=d980092014bba68425b9c63a020bfbc034dc9ad1;hpb=af9737e9006817895374706246dcf3d9efbeb58f diff --git a/ltt-sessiond/trace.c b/ltt-sessiond/trace.c index 1509edacd..774321e59 100644 --- a/ltt-sessiond/trace.c +++ b/ltt-sessiond/trace.c @@ -103,6 +103,7 @@ struct ltt_kernel_session *trace_create_kernel_session(void) lks->channel_count = 0; lks->stream_count_global = 0; lks->metadata = NULL; + lks->consumer_fd = 0; CDS_INIT_LIST_HEAD(&lks->channel_list.head); return lks; @@ -138,6 +139,7 @@ struct ltt_kernel_channel *trace_create_kernel_channel(struct lttng_channel *cha lkc->fd = 0; lkc->stream_count = 0; + lkc->event_count = 0; lkc->enabled = 1; lkc->ctx = NULL; /* Init linked list */ @@ -182,11 +184,22 @@ struct ltt_kernel_event *trace_create_kernel_event(struct lttng_event *ev) attr->u.kprobe.offset = ev->attr.probe.offset; strncpy(attr->u.kprobe.symbol_name, ev->attr.probe.symbol_name, LTTNG_SYM_NAME_LEN); + attr->u.kprobe.symbol_name[LTTNG_SYM_NAME_LEN - 1] = '\0'; break; case LTTNG_EVENT_FUNCTION: + attr->instrumentation = LTTNG_KERNEL_KRETPROBE; + attr->u.kretprobe.addr = ev->attr.probe.addr; + attr->u.kretprobe.offset = ev->attr.probe.offset; + attr->u.kretprobe.offset = ev->attr.probe.offset; + strncpy(attr->u.kretprobe.symbol_name, + ev->attr.probe.symbol_name, LTTNG_SYM_NAME_LEN); + attr->u.kretprobe.symbol_name[LTTNG_SYM_NAME_LEN - 1] = '\0'; + break; + case LTTNG_EVENT_FUNCTION_ENTRY: attr->instrumentation = LTTNG_KERNEL_FUNCTION; strncpy(attr->u.ftrace.symbol_name, ev->attr.ftrace.symbol_name, LTTNG_SYM_NAME_LEN); + attr->u.ftrace.symbol_name[LTTNG_SYM_NAME_LEN - 1] = '\0'; break; case LTTNG_EVENT_TRACEPOINT: attr->instrumentation = LTTNG_KERNEL_TRACEPOINT; @@ -198,6 +211,7 @@ struct ltt_kernel_event *trace_create_kernel_event(struct lttng_event *ev) /* Copy event name */ strncpy(attr->name, ev->name, LTTNG_SYM_NAME_LEN); + attr->name[LTTNG_SYM_NAME_LEN - 1] = '\0'; /* Setting up a kernel event */ lke->fd = 0;