On Fri, Nov 5, 2021 at 10:11 AM Alan Maguire <alan.maguire@xxxxxxxxxx> 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 <alan.maguire@xxxxxxxxxx> > --- > 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@xxxxxxxxxx> [...]