From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: Linpu Yu <linpu5433@gmail.com>
Cc: <magnus.karlsson@intel.com>, <netdev@vger.kernel.org>,
<bpf@vger.kernel.org>, <sdf@fomichev.me>, <davem@davemloft.net>,
<edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>,
<horms@kernel.org>, <ast@kernel.org>, <daniel@iogearbox.net>,
<hawk@kernel.org>, <john.fastabend@gmail.com>, <bjorn@kernel.org>,
<linux-kernel@vger.kernel.org>, <yuantan098@gmail.com>,
<yifanwucs@gmail.com>
Subject: Re: [PATCH 1/1] xskmap: reject TX-only AF_XDP sockets
Date: Mon, 30 Mar 2026 15:50:03 +0200 [thread overview]
Message-ID: <acp/i88sNzKrI3n2@boxer> (raw)
In-Reply-To: <6584463e576b7bb3619dc302cfecfb8ca56bc86a.1774701288.git.linpu5433@gmail.com>
On Mon, Mar 30, 2026 at 03:29:42AM +0800, Linpu Yu wrote:
> Reject TX-only AF_XDP sockets from XSKMAP updates. Redirected
> packets always enter the Rx path, where the kernel expects the
> selected socket to have an Rx ring. A TX-only socket can
> currently be inserted into an XSKMAP, and redirecting a packet
> to it crashes the kernel in xsk_generic_rcv().
This paragraph seems to be strictly related to veth nature. While the fix
makes sense to me, it should be stated that it is not a default behavior
but rather how veth works.
>
> Keep TX-only AF_XDP sockets valid for pure Tx use, but prevent
> them from being published through XSKMAP.
>
> Fixes: fbfc504a24f5 ("bpf: introduce new bpf AF_XDP map type BPF_MAP_TYPE_XSKMAP")
> Reported-by: Juefei Pu <tomapufckgml@gmail.com>
> Reported-by: Yuan Tan <yuantan098@gmail.com>
> Signed-off-by: Xin Liu <bird@lzu.edu.cn>
> Signed-off-by: Yifan Wu <yifanwucs@gmail.com>
> Signed-off-by: Linpu Yu <linpu5433@gmail.com>
> ---
> net/xdp/xskmap.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/net/xdp/xskmap.c b/net/xdp/xskmap.c
> index afa457506274c..6dac59ebb5cf0 100644
> --- a/net/xdp/xskmap.c
> +++ b/net/xdp/xskmap.c
> @@ -184,6 +184,10 @@ static long xsk_map_update_elem(struct bpf_map *map, void *key, void *value,
> }
>
> xs = (struct xdp_sock *)sock->sk;
> + if (!READ_ONCE(xs->rx)) {
> + sockfd_put(sock);
> + return -EINVAL;
> + }
>
> map_entry = &m->xsk_map[i];
> node = xsk_map_node_alloc(m, map_entry);
> --
> 2.53.0
>
next prev parent reply other threads:[~2026-03-30 13:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-29 19:29 [PATCH 0/1] xskmap: reject TX-only AF_XDP sockets Linpu Yu
2026-03-29 19:29 ` [PATCH 1/1] " Linpu Yu
2026-03-30 2:22 ` Jason Xing
2026-03-30 13:50 ` Maciej Fijalkowski [this message]
2026-04-15 8:43 ` Jason Xing
2026-04-15 17:22 ` Yuan Tan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=acp/i88sNzKrI3n2@boxer \
--to=maciej.fijalkowski@intel.com \
--cc=ast@kernel.org \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hawk@kernel.org \
--cc=horms@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=linpu5433@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@fomichev.me \
--cc=yifanwucs@gmail.com \
--cc=yuantan098@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.