Lorenz Bauer
fc9963be18
BACKPORT: net: sk_msg: Simplify sk_psock initialization
...
Initializing psock->sk_proto and other saved callbacks is only
done in sk_psock_update_proto, after sk_psock_init has returned.
The logic for this is difficult to follow, and needlessly complex.
Instead, initialize psock->sk_proto whenever we allocate a new
psock. Additionally, assert the following invariants:
* The SK has no ULP: ULP does it's own finagling of sk->sk_prot
* sk_user_data is unused: we need it to store sk_psock
Protect our access to sk_user_data with sk_callback_lock, which
is what other users like reuseport arrays, etc. do.
The result is that an sk_psock is always fully initialized, and
that psock->sk_proto is always the "original" struct proto.
The latter allows us to use psock->sk_proto when initializing
IPv6 TCP / UDP callbacks for sockmap.
Change-Id: I4d3d18c6dfba2e72c125b946b2f036a17563e23b
Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200821102948.21918-2-lmb@cloudflare.com
Signed-off-by: Tashfin Shakeer Rhythm <tashfinshakeerrhythm@gmail.com>
2026-02-01 20:44:39 -08:00
..
6lowpan
9p
net/9p: fix double req put in p9_fd_cancelled
2025-10-29 13:59:54 +01:00
802
8021q
net: vlan: sync VLAN features with lower device
2025-12-03 12:45:15 +01:00
appletalk
net: appletalk: Fix use-after-free in AARP proxy probe
2025-08-28 16:21:17 +02:00
atm
net: atm: fix memory leak in atm_register_sysfs when device_register fail
2025-09-09 18:43:58 +02:00
ax25
BACKPORT: net: Make sock protocol value checks more specific
2025-12-23 13:35:52 -08:00
batman-adv
batman-adv: fix OOB read/write in network-coding decode
2025-09-09 18:43:59 +02:00
bluetooth
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
bpf
UPSTREAM: bpf: Move skb->len == 0 checks into __bpf_redirect
2026-01-14 18:13:04 -08:00
bpfilter
UPSTREAM: bpf: Add kernel module with user mode driver that populates bpffs.
2026-01-14 18:12:16 -08:00
bridge
BACKPORT: mm: remove the pgprot argument to __vmalloc
2026-01-14 17:48:09 -08:00
caif
This is the 5.4.297 stable release
2025-09-02 10:52:40 +00:00
can
This is the 5.4.300 stable release
2025-10-02 13:53:47 +00:00
ceph
core
BACKPORT: net: sk_msg: Simplify sk_psock initialization
2026-02-01 20:44:39 -08:00
dcb
dccp
decnet
dns_resolver
dsa
net: dsa: microchip: linearize skb for tail-tagging switches
2025-09-09 18:44:00 +02:00
embms_kernel
ethernet
hsr
ieee802154
ife
ipv4
BACKPORT: net: sk_msg: Simplify sk_psock initialization
2026-02-01 20:44:39 -08:00
ipv6
BACKPORT: net: Fix Kconfig indentation, continued
2026-02-01 20:39:45 -08:00
iucv
kcm
key
l2tp
l3mdev
lapb
llc
llc: fix data loss when reading from a socket in llc_ui_recvmsg()
2025-06-04 14:32:35 +02:00
mac80211
Merge branch 'android11-5.4-lts' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-12-11 01:41:51 -08:00
mac802154
mpls
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
ncsi
net: ncsi: Fix buffer overflow in fetching version id
2025-08-28 16:21:27 +02:00
netfilter
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
netlabel
calipso: unlock rcu before returning -EAFNOSUPPORT
2025-06-27 11:02:50 +01:00
netlink
UPSTREAM: bpf: Refactor bpf_iter_reg to have separate seq_info member
2026-01-14 18:12:07 -08:00
netrom
neuron
nfc
BACKPORT: net: Fix Kconfig indentation, continued
2026-02-01 20:39:45 -08:00
nsh
openvswitch
net: openvswitch: remove never-working support for setting nsh fields
2025-12-03 12:45:20 +01:00
packet
BACKPORT: net: switch copy_bpf_fprog_from_user to sockptr_t
2026-01-14 18:12:35 -08:00
phonet
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
psample
qrtr
rds
BACKPORT: tcp: add tcp_sock_set_keepidle
2026-01-14 17:50:47 -08:00
rfkill
net: rfkill: gpio: Fix crash due to dereferencering uninitialized pointer
2025-10-02 13:34:32 +02:00
rose
rose: fix dangling neighbour pointers in rose_rt_device_down()
2025-07-17 18:25:00 +02:00
rxrpc
rxrpc: Fix oops due to non-existence of prealloc backlog struct
2025-07-17 18:25:02 +02:00
sched
BACKPORT: bpf: Add socket assign support
2025-12-23 13:36:11 -08:00
sctp
BACKPORT: sysctl: pass kernel pointers to ->proc_handler
2025-12-23 13:36:15 -08:00
smc
strparser
strparser: Fix signed/unsigned mismatch bug
2025-12-03 12:45:19 +01:00
sunrpc
BACKPORT: tcp: add tcp_sock_set_keepidle
2026-01-14 17:50:47 -08:00
switchdev
tipc
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
tls
UPSTREAM: net, sk_msg: Annotate lockless access to sk_prot on clone
2025-12-23 13:36:03 -08:00
unix
vmw_vsock
This is the 5.4.302 stable release
2025-12-03 14:36:44 +00:00
wimax
wireless
Merge tag 'ASB-2025-10-06_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina
2025-10-08 15:17:54 +03:00
x25
xdp
UPSTREAM: bpf: Allow for map-in-map with dynamic inner array map entries
2026-01-14 18:12:44 -08:00
xfrm
BACKPORT: net: Fix Kconfig indentation, continued
2026-02-01 20:39:45 -08:00
compat.c
BACKPORT: net: simplify cBPF setsockopt compat handling
2026-01-14 18:12:33 -08:00
Kconfig
BACKPORT: bpf: Clean up sockmap related Kconfigs
2026-02-01 20:44:37 -08:00
Makefile
OWNERS
socket.c
sysctl_net.c
TEST_MAPPING