X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-syscalls.c;h=c23f1d9e7e5b07c7533e14f2fdf404763152ea8c;hb=72814741fb45c8f7d4c45cb2a4624e20b5a4a76a;hp=5023c2f9dcc2ff8c588ad159303255dabab92ac6;hpb=f1e7d826123df8fe2164aa22fa0f418debc0df1b;p=lttng-modules.git diff --git a/lttng-syscalls.c b/lttng-syscalls.c index 5023c2f9..c23f1d9e 100644 --- a/lttng-syscalls.c +++ b/lttng-syscalls.c @@ -1033,6 +1033,12 @@ int lttng_syscall_filter_disable(struct lttng_channel *chan, filter = chan->sc_filter; } + if (!name) { + /* Disable all system calls */ + bitmap_clear(filter->sc, 0, NR_syscalls); + bitmap_clear(filter->sc_compat, 0, NR_compat_syscalls); + goto apply_filter; + } syscall_nr = get_syscall_nr(name); compat_syscall_nr = get_compat_syscall_nr(name); if (syscall_nr < 0 && compat_syscall_nr < 0) { @@ -1053,6 +1059,7 @@ int lttng_syscall_filter_disable(struct lttng_channel *chan, } bitmap_clear(chan->sc_filter->sc_compat, compat_syscall_nr, 1); } +apply_filter: if (!chan->sc_filter) rcu_assign_pointer(chan->sc_filter, filter); chan->syscall_all = 0;