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;
lkc->fd = 0;
lkc->stream_count = 0;
+ lkc->event_count = 0;
lkc->enabled = 1;
lkc->ctx = NULL;
/* Init linked list */
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;
/* 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;
/* Set default attributes */
chan->attr.overwrite = DEFAULT_CHANNEL_OVERWRITE;
- chan->attr.subbuf_size = DEFAULT_CHANNEL_SUBBUF_SIZE;
- chan->attr.num_subbuf = DEFAULT_CHANNEL_SUBBUF_NUM;
+ chan->attr.subbuf_size = DEFAULT_METADATA_SUBBUF_SIZE;
+ chan->attr.num_subbuf = DEFAULT_METADATA_SUBBUF_NUM;
chan->attr.switch_timer_interval = DEFAULT_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval = DEFAULT_CHANNEL_READ_TIMER;
chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT;