linux-stable/net
Eric Dumazet 29fa42197f ipv6: mcast: add RCU protection to mld_newpack()
[ Upstream commit a527750d87 ]

mld_newpack() can be called without RTNL or RCU being held.

Note that we no longer can use sock_alloc_send_skb() because
ipv6.igmp_sk uses GFP_KERNEL allocations which can sleep.

Instead use alloc_skb() and charge the net->ipv6.igmp_sk
socket under RCU protection.

Fixes: b8ad0cbc58 ("[NETNS][IPV6] mcast - handle several network namespace")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20250212141021.1663666-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-03-13 12:50:44 +01:00
..
6lowpan
9p
802
8021q
appletalk
atm
ax25
batman-adv batman-adv: Ignore neighbor throughput metrics in error case 2025-03-13 12:50:37 +01:00
bluetooth Bluetooth: L2CAP: accept zero as a special value for MTU auto-selection 2025-03-13 12:50:25 +01:00
bpf
bpfilter
bridge
caif
can can: j1939: j1939_sk_send_loop(): fix unable to send messages with data length zero 2025-03-13 12:50:40 +01:00
ceph
core neighbour: use RCU protection in __neigh_notify() 2025-03-13 12:50:44 +01:00
dcb
dccp net: fix data-races around sk->sk_forward_alloc 2025-01-23 17:16:04 +01:00
dns_resolver
dsa
ethernet
ethtool net: avoid race between device unregistration and ethnl ops 2025-03-13 12:49:59 +01:00
hsr net: hsr: fix fill_frame_info() regression vs VLAN packets 2025-03-13 12:50:13 +01:00
ieee802154
ife
ipv4 arp: use RCU protection in arp_xmit() 2025-03-13 12:50:44 +01:00
ipv6 ipv6: mcast: add RCU protection to mld_newpack() 2025-03-13 12:50:44 +01:00
iucv
kcm
key
l2tp
l3mdev
lapb
llc
mac80211
mac802154 mac802154: check local interfaces before deleting sdata list 2025-01-23 17:16:00 +01:00
mctp
mpls
mptcp mptcp: prevent excessive coalescing on receive 2025-03-13 12:50:34 +01:00
ncsi net/ncsi: use dev_set_mac_address() for Get MC MAC Address handling 2025-03-13 12:50:33 +01:00
netfilter netfilter: nf_tables: reject mismatching sum of field_len with set key length 2025-03-13 12:50:15 +01:00
netlabel
netlink
netrom
nfc NFC: nci: Add bounds checking in nci_hci_create_pipe() 2025-03-13 12:50:32 +01:00
nsh
openvswitch openvswitch: use RCU protection in ovs_vport_cmd_fill_info() 2025-03-13 12:50:44 +01:00
packet
phonet
psample
qrtr
rds
rfkill
rose net: rose: lock the socket in rose_bind() 2025-03-13 12:50:22 +01:00
rxrpc
sched netem: Update sch->q.qlen before qdisc_tree_reduce_backlog() 2025-03-13 12:50:23 +01:00
sctp sctp: sysctl: plpmtud_probe_interval: avoid using current->nsproxy 2025-01-23 17:15:51 +01:00
smc net/smc: fix data error when recvmsg with MSG_PEEK flag 2025-03-13 12:49:57 +01:00
strparser
sunrpc
switchdev
tipc tipc: re-order conditions in tipc_crypto_key_rcv() 2025-03-13 12:50:19 +01:00
tls
unix
vmw_vsock vsock: Allow retrying on connect() failure 2025-03-13 12:50:12 +01:00
wireless wifi: cfg80211: adjust allocation of colocated AP data 2025-03-13 12:49:58 +01:00
x25
xdp
xfrm xfrm: replay: Fix the update of replay_esn->oseq_hi for GSO 2025-03-13 12:50:11 +01:00
compat.c
devres.c
Kconfig
Makefile
socket.c
sysctl_net.c