X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fkernel.c;h=2aeef263d6bd38c7238db96b0c99de4d230bdee2;hp=1fae30f0ad7372bdd2f439d10b1044181048f127;hb=834978fd9e2392f20867351ca99bf7bdf31b4f56;hpb=68808f4e0bbb3adccff72ff9dab6ec9f3a9e6866 diff --git a/src/bin/lttng-sessiond/kernel.c b/src/bin/lttng-sessiond/kernel.c index 1fae30f0a..2aeef263d 100644 --- a/src/bin/lttng-sessiond/kernel.c +++ b/src/bin/lttng-sessiond/kernel.c @@ -32,6 +32,7 @@ #include "kernel.h" #include "kernel-consumer.h" #include "kern-modules.h" +#include "utils.h" /* * Add context on a kernel channel. @@ -351,6 +352,18 @@ error: return ret; } +int kernel_enable_syscall(const char *syscall_name, + struct ltt_kernel_channel *channel) +{ + return kernctl_enable_syscall(channel->fd, syscall_name); +} + +int kernel_disable_syscall(const char *syscall_name, + struct ltt_kernel_channel *channel) +{ + return kernctl_disable_syscall(channel->fd, syscall_name); +} + /* * Create kernel metadata, open from the kernel tracer and add it to the * kernel session. @@ -931,3 +944,17 @@ error: rcu_read_unlock(); return ret; } + +/* + * Get the syscall mask array from the kernel tracer. + * + * Return 0 on success else a negative value. In both case, syscall_mask should + * be freed. + */ +int kernel_syscall_mask(int chan_fd, char **syscall_mask, uint32_t *nr_bits) +{ + assert(syscall_mask); + assert(nr_bits); + + return kernctl_syscall_mask(chan_fd, syscall_mask, nr_bits); +}