switch (event_param->instrumentation) {
case LTTNG_KERNEL_SYSCALL:
switch (event_param->u.syscall.entryexit) {
+ case LTTNG_KERNEL_SYSCALL_ENTRY:
+ case LTTNG_KERNEL_SYSCALL_EXIT:
case LTTNG_KERNEL_SYSCALL_ENTRYEXIT:
break;
default:
return -EINVAL;
}
switch (event_param->u.syscall.match) {
- case LTTNG_SYSCALL_MATCH_NAME:
+ case LTTNG_KERNEL_SYSCALL_MATCH_NAME:
break;
default:
return -EINVAL;
return -EINVAL;
case LTTNG_TYPE_ENABLER:
event_notifier_enabler = file->private_data;
- return lttng_event_notifier_enabler_attach_bytecode(event_notifier_enabler,
+ return lttng_event_notifier_enabler_attach_filter_bytecode(
+ event_notifier_enabler,
(struct lttng_kernel_filter_bytecode __user *) arg);
default:
WARN_ON_ONCE(1);
return -ENOSYS;
}
+
+ case LTTNG_KERNEL_CAPTURE:
+ switch (*evtype) {
+ case LTTNG_TYPE_EVENT:
+ return -EINVAL;
+ case LTTNG_TYPE_ENABLER:
+ event_notifier_enabler = file->private_data;
+ return lttng_event_notifier_enabler_attach_capture_bytecode(
+ event_notifier_enabler,
+ (struct lttng_kernel_capture_bytecode __user *) arg);
+ default:
+ WARN_ON_ONCE(1);
+ return -ENOSYS;
+ }
+ case LTTNG_KERNEL_ADD_CALLSITE:
+ switch (*evtype) {
+ case LTTNG_TYPE_EVENT:
+ event_notifier = file->private_data;
+ return lttng_event_notifier_add_callsite(event_notifier,
+ (struct lttng_kernel_event_callsite __user *) arg);
+ case LTTNG_TYPE_ENABLER:
+ return -EINVAL;
+ default:
+ WARN_ON_ONCE(1);
+ return -ENOSYS;
+ }
default:
return -ENOIOCTLCMD;
}
switch (event_notifier_param->event.instrumentation) {
case LTTNG_KERNEL_TRACEPOINT:
+ case LTTNG_KERNEL_UPROBE:
break;
case LTTNG_KERNEL_KPROBE:
event_notifier_param->event.u.kprobe.symbol_name[LTTNG_KERNEL_SYM_NAME_LEN - 1] = '\0';
break;
- case LTTNG_KERNEL_UPROBE:
+ case LTTNG_KERNEL_SYSCALL:
+ break;
case LTTNG_KERNEL_KRETPROBE:
+ /* Placing an event notifier on kretprobe is not supported. */
case LTTNG_KERNEL_FUNCTION:
case LTTNG_KERNEL_NOOP:
- case LTTNG_KERNEL_SYSCALL:
default:
ret = -EINVAL;
goto inval_instr;
case LTTNG_TYPE_ENABLER:
{
event_enabler = file->private_data;
- return lttng_event_enabler_attach_bytecode(event_enabler,
+ return lttng_event_enabler_attach_filter_bytecode(
+ event_enabler,
(struct lttng_kernel_filter_bytecode __user *) arg);
}
default: