[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210331061218.1647-1-ciara.loftus@intel.com>
Date: Wed, 31 Mar 2021 06:12:15 +0000
From: Ciara Loftus <ciara.loftus@...el.com>
To: netdev@...r.kernel.org, bpf@...r.kernel.org,
magnus.karlsson@...el.com, bjorn@...nel.org,
alexei.starovoitov@...il.com
Cc: Ciara Loftus <ciara.loftus@...el.com>
Subject: [PATCH v4 bpf 0/3] AF_XDP Socket Creation Fixes
This series fixes some issues around socket creation for AF_XDP.
Patch 1 fixes a potential NULL pointer dereference in
xsk_socket__create_shared.
Patch 2 ensures that the umem passed to xsk_socket__create(_shared)
remains unchanged in event of failure.
Patch 3 makes it possible for xsk_socket__create(_shared) to
succeed even if the rx and tx XDP rings have already been set up by
introducing a new fields to struct xsk_umem which represent the ring
setup status for the xsk which shares the fd with the umem.
v3->v4:
* Reduced nesting in xsk_put_ctx as suggested by Alexei.
* Use bools instead of a u8 and flags to represent the
ring setup status as suggested by Björn.
v2->v3:
* Instead of ignoring the return values of the setsockopt calls, introduce
a new flag to determine whether or not to call them based on the ring
setup status as suggested by Alexei.
v1->v2:
* Simplified restoring the _save pointers as suggested by Magnus.
* Fixed the condition which determines whether to unmap umem rings
when socket create fails.
This series applies on commit 861de02e5f3f2a104eecc5af1d248cb7bf8c5f75
Ciara Loftus (3):
libbpf: ensure umem pointer is non-NULL before dereferencing
libbpf: restore umem state after socket create failure
libbpf: only create rx and tx XDP rings when necessary
tools/lib/bpf/xsk.c | 57 +++++++++++++++++++++++++++++----------------
1 file changed, 37 insertions(+), 20 deletions(-)
--
2.17.1
Powered by blists - more mailing lists