syzbot reported 3 issues in SOCKMAP for UDP.
Patch 1 - 2 fix lockless accesses to sk->sk_data_ready()
and sk->sk_write_space().
Patch 3 fixes UAF in sk_msg_recvmsg().
Patch 4 - 5 consolidate sk_psock_skb_ingress_self() into
sk_psock_skb_ingress() as prep.
Patch 6 fixes broken memory accounting.
Changes:
v2:
Patch 2: Cache sk->sk_write_space in sock_wfree()
Patch 5: Keep msg->sk assignment
Patch 6: Fix build failure when CONFIG_INET=n
v1: https://lore.kernel.org/netdev/20260215204353.3645744-1-kuniyu@google.com/ (local)
Kuniyuki Iwashima (6):
sockmap: Annotate sk->sk_data_ready() for UDP.
sockmap: Annotate sk->sk_write_space() for UDP.
sockmap: Fix use-after-free in udp_bpf_recvmsg().
sockmap: Pass gfp_t flag to sk_psock_skb_ingress().
sockmap: Consolidate sk_psock_skb_ingress_self().
sockmap: Fix broken memory accounting for UDP.
include/net/udp.h | 9 +++++
net/core/skmsg.c | 97 ++++++++++++++++++++--------------------------
net/core/sock.c | 8 +++-
net/ipv4/udp.c | 11 +++++-
net/ipv4/udp_bpf.c | 9 +++++
5 files changed, 76 insertions(+), 58 deletions(-)
--
2.53.0.310.g728cabbaf7-goog