Fix: syscall: fail disable all if all already disabled
[lttng-modules.git] / lttng-abi.c
index ab0a11286c7ba75f423e430085b616c0df4e76b0..8073e9880ff109b1efdc27dd835b82b19b8f3c47 100644 (file)
@@ -968,14 +968,15 @@ int lttng_abi_create_event(struct file *channel_file,
                if (ret)
                        goto fd_error;
                event_fd = 0;
-               if (event_param->u.syscall.disable) {
-                       ret = lttng_syscall_filter_disable(channel,
+               if (event_param->u.syscall.enable) {
+                       ret = lttng_syscall_filter_enable(channel,
                                event_param->name[0] == '\0' ?
                                        NULL : event_param->name);
                        if (ret)
                                goto fd_error;
+
                } else {
-                       ret = lttng_syscall_filter_enable(channel,
+                       ret = lttng_syscall_filter_disable(channel,
                                event_param->name[0] == '\0' ?
                                        NULL : event_param->name);
                        if (ret)
@@ -1169,6 +1170,9 @@ old_ctx_end:
        case LTTNG_KERNEL_OLD_DISABLE:
        case LTTNG_KERNEL_DISABLE:
                return lttng_channel_disable(channel);
+       case LTTNG_KERNEL_SYSCALL_MASK:
+               return lttng_channel_syscall_mask(channel,
+                       (struct lttng_kernel_syscall_mask __user *) arg);
        default:
                return -ENOIOCTLCMD;
        }
This page took 0.028677 seconds and 4 git commands to generate.