Thread (6 messages) 6 messages, 4 authors, 2d ago

Re: [PATCH net-next v2 2/2] net: annotate lockless writes to sk->sk_err

flat view

From: Eric Dumazet <edumazet@kernel.org>
Date: 2026-10-04 07:14:39
Also in: bpf, lkml

Le dim. 4 oct. 2026 à 06:44, Quanye Yang via B4 Relay
[off-list ref] a écrit :
From: Quanye Yang <redacted>

do_recvmmsg() and getsockopt(SO_ERROR) clear sk_err with xchg()
without the socket lock. TCP, MPTCP and kTLS already peek the same
field with READ_ONCE() or consume it via sock_error().

sock_dequeue_err_skb() still uses plain stores. tcp_recvmsg() can
call it via MSG_ERRQUEUE before lock_sock(), so those writes race
with the annotated readers and with sock_error(). The same unmarked
stores exist in strp_abort_strp() and sk_psock_report_error(), which
run on the TCP/TLS socket.

Annotate those writers with WRITE_ONCE(). No extra ordering is
needed; this does not change who wins when ICMP error-queue entries
overwrite sk_err.

Link: https://lore.kernel.org/netdev/3d9d442f-f168-43da-87b0-010ad5a78365@redhat.com/ (local)
Signed-off-by: Quanye Yang <redacted>
---
 include/linux/skmsg.h     | 2 +-
 net/core/skbuff.c         | 5 +++--
 net/strparser/strparser.c | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)
Has this patch changed between V1 and V2 ?

You are supposed to carry the Acked-by and Reviewed-by tags collected
during prior iterations.

Please help reviewers, they need to recover their precious time.

Reviewed-by: Eric Dumazet <edumazet@kernel.org>

Thank you.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help