Thread (5 messages) flat view 5 messages, 3 authors, 2021-11-08

Re: [PATCH v2 bpf-next 2/2] selftests/bpf: add exception handling selftests for tp_bpf program

From: Andrii Nakryiko <hidden>
Date: 2021-11-05 18:54:42
Also in: bpf, linux-arm-kernel, lkml

On Fri, Nov 5, 2021 at 10:11 AM Alan Maguire [off-list ref] wrote:
Exception handling is triggered in BPF tracing programs when
a NULL pointer is dereferenced; the exception handler zeroes the
target register and execution of the BPF program progresses.

To test exception handling then, we need to trigger a NULL pointer
dereference for a field which should never be zero; if it is, the
only explanation is the exception handler ran.  task->task_works
is the NULL pointer chosen (for a new task from fork() no work
is associated), and the task_works->func field should not be zero
if task_works is non-NULL.  Test verifies task_works and
task_works->func are 0.

Signed-off-by: Alan Maguire <redacted>
---
 tools/testing/selftests/bpf/prog_tests/exhandler.c | 43 ++++++++++++++++++++++
 tools/testing/selftests/bpf/progs/exhandler_kern.c | 43 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/exhandler.c
 create mode 100644 tools/testing/selftests/bpf/progs/exhandler_kern.c
The test looks good, thank you!

Acked-by: Andrii Nakryiko <andrii@kernel.org>

[...]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help