From b6d6994637efb90c3a237e8f3be533c4d9484bb5 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 23 May 2019 12:56:57 -0400 Subject: [PATCH] Fix: initialize syscall table when kernel tracer is lazily initialized MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit How to reproduce: start lttng-sessiond while lttng-modules are not installed, then install lttng-modules. Then issue "lttng list --syscall -k". It will show an empty syscall list because the system call list has not been initialized. Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau --- src/bin/lttng-sessiond/main.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index 577936a89..d559306cb 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -2652,6 +2652,12 @@ static int init_kernel_tracer(void) } DBG("Kernel tracer fd %d", kernel_tracer_fd); + + ret = syscall_init_table(); + if (ret < 0) { + ERR("Unable to populate syscall table. Syscall tracing won't " + "work for this session daemon."); + } return 0; error_version: @@ -5771,14 +5777,6 @@ int main(int argc, char **argv) /* Setup kernel tracer */ if (!config.no_kernel) { init_kernel_tracer(); - if (kernel_tracer_fd >= 0) { - ret = syscall_init_table(); - if (ret < 0) { - ERR("Unable to populate syscall table. " - "Syscall tracing won't work " - "for this session daemon."); - } - } } /* Set ulimit for open files */ -- 2.34.1