[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <167527517464.938135.13750760520577765269.stgit@firesoul>
Date: Wed, 01 Feb 2023 19:12:54 +0100
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: bpf@...r.kernel.org, Stanislav Fomichev <sdf@...gle.com>
Cc: Jesper Dangaard Brouer <brouer@...hat.com>, netdev@...r.kernel.org,
martin.lau@...nel.org, ast@...nel.org, daniel@...earbox.net,
andrii@...nel.org, martin.lau@...ux.dev, song@...nel.org,
yhs@...com, john.fastabend@...il.com, dsahern@...il.com,
willemb@...gle.com, void@...ifault.com, kuba@...nel.org,
xdp-hints@...-project.net
Subject: [PATCH bpf-next V1] selftests/bpf: fix unmap bug in
prog_tests/xdp_metadata.c
The function close_xsk() unmap via munmap() the wrong memory pointer.
The call xsk_umem__delete(xsk->umem) have already freed xsk->umem.
Thus the call to munmap(xsk->umem, UMEM_SIZE) will have unpredictable
behavior that can lead to Segmentation fault elsewhere, as man page
explain subsequent references to these pages will generate SIGSEGV.
Fixes: e2a46d54d7a1 ("selftests/bpf: Verify xdp_metadata xdp->af_xdp path")
Reported-by: Martin KaFai Lau <martin.lau@...nel.org>
Signed-off-by: Jesper Dangaard Brouer <brouer@...hat.com>
---
.../selftests/bpf/prog_tests/xdp_metadata.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
index e033d48288c0..241909d71c7e 100644
--- a/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
+++ b/tools/testing/selftests/bpf/prog_tests/xdp_metadata.c
@@ -121,7 +121,7 @@ static void close_xsk(struct xsk *xsk)
xsk_umem__delete(xsk->umem);
if (xsk->socket)
xsk_socket__delete(xsk->socket);
- munmap(xsk->umem, UMEM_SIZE);
+ munmap(xsk->umem_area, UMEM_SIZE);
}
static void ip_csum(struct iphdr *iph)
Powered by blists - more mailing lists