[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210408052009.7844-1-ciara.loftus@intel.com>
Date: Thu, 8 Apr 2021 05:20:09 +0000
From: Ciara Loftus <ciara.loftus@...el.com>
To: netdev@...r.kernel.org, bpf@...r.kernel.org,
magnus.karlsson@...el.com, bjorn@...nel.org,
andrii.nakryiko@...il.com, alexei.starovoitov@...il.com
Cc: Ciara Loftus <ciara.loftus@...el.com>
Subject: [PATCH bpf] libbpf: fix potential NULL pointer dereference
Wait until after the UMEM is checked for null to dereference it.
Fixes: 43f1bc1efff1 ("libbpf: Restore umem state after socket create failure")
Signed-off-by: Ciara Loftus <ciara.loftus@...el.com>
---
tools/lib/bpf/xsk.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c
index d24b5cc720ec..770040d1f893 100644
--- a/tools/lib/bpf/xsk.c
+++ b/tools/lib/bpf/xsk.c
@@ -858,12 +858,14 @@ int xsk_socket__create_shared(struct xsk_socket **xsk_ptr,
struct xsk_socket *xsk;
struct xsk_ctx *ctx;
int err, ifindex;
- bool unmap = umem->fill_save != fill;
+ bool unmap;
bool rx_setup_done = false, tx_setup_done = false;
if (!umem || !xsk_ptr || !(rx || tx))
return -EFAULT;
+ unmap = umem->fill_save != fill;
+
xsk = calloc(1, sizeof(*xsk));
if (!xsk)
return -ENOMEM;
--
2.17.1
Powered by blists - more mailing lists