linux/tools/testing
Jesper Dangaard Brouer a19a62e564 selftests/bpf: xdp_hw_metadata cleanup cause segfault
Using xdp_hw_metadata I experince Segmentation fault after seeing
"detaching bpf program....".

On my system the segfault happened when accessing bpf_obj->skeleton
in xdp_hw_metadata__destroy(bpf_obj) call. That doesn't make any sense
as this memory have not been freed by program at this point in time.

Prior to calling xdp_hw_metadata__destroy(bpf_obj) the function
close_xsk() is called for each RX-queue xsk.  The real bug lays
in close_xsk() that unmap via munmap() the wrong memory pointer.
The call xsk_umem__delete(xsk->umem) will free xsk->umem, thus
the call to munmap(xsk->umem, UMEM_SIZE) will have unpredictable
behavior. And man page explain subsequent references to these
pages will generate SIGSEGV.

Unmapping xsk->umem_area instead removes the segfault.

Fixes: 297a3f1241 ("selftests/bpf: Simple program to dump XDP RX metadata")
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/bpf/167527271533.937063.5717065138099679142.stgit@firesoul
2023-02-02 00:48:22 +01:00
..
crypto/chacha20-s390
cxl tools/testing/cxl: Require cache invalidation bypass 2022-12-05 12:33:20 -08:00
fault-injection
ktest ktest.pl: Add shell commands to variables 2022-12-08 23:23:05 -05:00
kunit kunit: tool: make parser preserve whitespace when printing test log 2022-12-12 14:13:48 -07:00
memblock mm: Always release pages to the buddy allocator in memblock_free_late(). 2023-01-08 18:49:33 +02:00
nvdimm libnvdimm: Introduce CONFIG_NVDIMM_SECURITY_TEST flag 2022-12-01 12:42:35 -08:00
radix-tree maple_tree: update copyright dates for test code 2022-12-15 16:37:49 -08:00
scatterlist
selftests selftests/bpf: xdp_hw_metadata cleanup cause segfault 2023-02-02 00:48:22 +01:00
vsock test/vsock: vsock_perf utility 2023-01-12 12:53:54 +01:00