libbpf: Ensure umem pointer is non-NULL before dereferencing
Calls to xsk_socket__create dereference the umem to access the
fill_save and comp_save pointers. Make sure the umem is non-NULL
before doing this.
Fixes: 2f6324a393 ("libbpf: Support shared umems between queues and devices")
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Link: https://lore.kernel.org/bpf/20210331061218.1647-2-ciara.loftus@intel.com
This commit is contained in:
committed by
Alexei Starovoitov
parent
d37300ed18
commit
df66201631
@@ -1019,6 +1019,9 @@ int xsk_socket__create(struct xsk_socket **xsk_ptr, const char *ifname,
|
|||||||
struct xsk_ring_cons *rx, struct xsk_ring_prod *tx,
|
struct xsk_ring_cons *rx, struct xsk_ring_prod *tx,
|
||||||
const struct xsk_socket_config *usr_config)
|
const struct xsk_socket_config *usr_config)
|
||||||
{
|
{
|
||||||
|
if (!umem)
|
||||||
|
return -EFAULT;
|
||||||
|
|
||||||
return xsk_socket__create_shared(xsk_ptr, ifname, queue_id, umem,
|
return xsk_socket__create_shared(xsk_ptr, ifname, queue_id, umem,
|
||||||
rx, tx, umem->fill_save,
|
rx, tx, umem->fill_save,
|
||||||
umem->comp_save, usr_config);
|
umem->comp_save, usr_config);
|
||||||
|
|||||||
Reference in New Issue
Block a user