From 2d9cd7f33b37382e41eab3cfb509b24af3462887 Mon Sep 17 00:00:00 2001 From: Francis Deslauriers Date: Tue, 28 Jan 2020 17:19:20 -0500 Subject: [PATCH] Fix: lttng-syscalls.c: marking wrong syscall probe as unregistered When calling `lttng_syscalls_unregister()` we currently mark as unregistered the wrong syscall probe type. Concretely, when we unregister "sys_exit" we wrongfully mark that sys_enter is unregistered and vice versa. Given than currently entry and exit probes are always enabled together (except on internal errors), the effect of this bug is not user-visible. Signed-off-by: Francis Deslauriers Signed-off-by: Mathieu Desnoyers Change-Id: I64acf6a941a3d1fa1bf8be424f834ddb7fb92ace --- lttng-syscalls.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lttng-syscalls.c b/lttng-syscalls.c index ebd9246c..7a2d02a9 100644 --- a/lttng-syscalls.c +++ b/lttng-syscalls.c @@ -905,15 +905,15 @@ int lttng_syscalls_unregister(struct lttng_channel *chan) if (!chan->sc_table) return 0; if (chan->sys_enter_registered) { - ret = lttng_wrapper_tracepoint_probe_unregister("sys_exit", - (void *) syscall_exit_probe, chan); + ret = lttng_wrapper_tracepoint_probe_unregister("sys_enter", + (void *) syscall_entry_probe, chan); if (ret) return ret; chan->sys_enter_registered = 0; } if (chan->sys_exit_registered) { - ret = lttng_wrapper_tracepoint_probe_unregister("sys_enter", - (void *) syscall_entry_probe, chan); + ret = lttng_wrapper_tracepoint_probe_unregister("sys_exit", + (void *) syscall_exit_probe, chan); if (ret) return ret; chan->sys_exit_registered = 0; -- 2.34.1