Fix: syscalls: address of statically allocated element never null
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Wed, 25 Nov 2020 15:25:54 +0000 (10:25 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 25 Nov 2020 16:51:12 +0000 (11:51 -0500)
This check is intended to confirm that the table element for that syscall
is indeed populated but checked that the element is NULL. This was never
the case because the address of an element of a statically allocated
array cannot be NULL.

Fix this by check if the function pointer is NULL instead. This means
that the element is not populated.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I1d769d6609fa4517199f022e1a262c4494c8f63a

src/lttng-syscalls.c

index 3e9f791ab336c6c11067b8e54cab54256a1aa9f6..06d16ff2e7c2659d9eacbbd403b92ab083f728ca 100644 (file)
@@ -522,7 +522,7 @@ void syscall_entry_event_probe(void *__data, struct pt_regs *regs, long id)
                return;
        }
        entry = &table[id];
-       WARN_ON_ONCE(!entry);
+       WARN_ON_ONCE(!entry->event_func);
        syscall_entry_call_func(entry->event_func, entry->nrargs, event, regs);
 }
 
@@ -584,7 +584,7 @@ void syscall_exit_event_probe(void *__data, struct pt_regs *regs, long ret)
                return;
        }
        entry = &table[id];
-       WARN_ON_ONCE(!entry);
+       WARN_ON_ONCE(!entry->event_func);
 
        switch (entry->nrargs) {
        case 0:
This page took 0.025252 seconds and 5 git commands to generate.