From: Mathieu Desnoyers Date: Tue, 9 Sep 2014 22:56:53 +0000 (-0400) Subject: Fix: syscall filtering: disable all syscalls X-Git-Tag: v2.6.0-rc1~35 X-Git-Url: http://git.lttng.org/?p=lttng-modules.git;a=commitdiff_plain;h=72814741fb45c8f7d4c45cb2a4624e20b5a4a76a Fix: syscall filtering: disable all syscalls Signed-off-by: Mathieu Desnoyers --- 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;