Re: [PATCH bpf v9 3/5] bpf: disable non stream socket for strparser
From: Jakub Sitnicki <jakub@cloudflare.com>
Date: 2025-01-26 14:11:45
Also in:
bpf, linux-doc, linux-kselftest, lkml
From: Jakub Sitnicki <jakub@cloudflare.com>
Date: 2025-01-26 14:11:45
Also in:
bpf, linux-doc, linux-kselftest, lkml
On Wed, Jan 22, 2025 at 06:09 PM +08, Jiayuan Chen wrote:
Currently, only TCP supports strparser, but sockmap doesn't intercept
non-TCP connections to attach strparser. For example, with UDP, although
the read/write handlers are replaced, strparser is not executed due to
the lack of a read_sock operation.
Furthermore, in udp_bpf_recvmsg(), it checks whether the psock has data,
and if not, it falls back to the native UDP read interface, making
UDP + strparser appear to read correctly. According to its commit history,
this behavior is unexpected.
Moreover, since UDP lacks the concept of streams, we intercept it directly.
Fixes: 1fa1fe8ff161 ("bpf, sockmap: Test shutdown() correctly exits epoll and recv()=0")
Signed-off-by: Jiayuan Chen <redacted>
---Acked-by: Jakub Sitnicki <jakub@cloudflare.com>