linux-yocto/net
Xiang Mei 11a2eadf0b net/sched: sch_qfq: Avoid triggering might_sleep in atomic context in qfq_delete_class
[ Upstream commit cf074eca00 ]

might_sleep could be trigger in the atomic context in qfq_delete_class.

qfq_destroy_class was moved into atomic context locked
by sch_tree_lock to avoid a race condition bug on
qfq_aggregate. However, might_sleep could be triggered by
qfq_destroy_class, which introduced sleeping in atomic context (path:
qfq_destroy_class->qdisc_put->__qdisc_destroy->lockdep_unregister_key
->might_sleep).

Considering the race is on the qfq_aggregate objects, keeping
qfq_rm_from_agg in the lock but moving the left part out can solve
this issue.

Fixes: 5e28d5a3f7 ("net/sched: sch_qfq: Fix race condition on qfq_aggregate")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Xiang Mei <xmei5@asu.edu>
Link: https://patch.msgid.link/4a04e0cc-a64b-44e7-9213-2880ed641d77@sabinyo.mountain
Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/20250717230128.159766-1-xmei5@asu.edu
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-08-01 09:48:41 +01:00
..
6lowpan
9p 9p/trans_fd: mark concurrent read and writes to p9_conn->err 2025-05-02 07:59:20 +02:00
802
8021q net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime 2025-07-24 08:56:34 +02:00
appletalk net: appletalk: Fix use-after-free in AARP proxy probe 2025-08-01 09:48:41 +01:00
atm atm: clip: Fix NULL pointer dereference in vcc_sendmsg() 2025-07-17 18:37:06 +02:00
ax25 ax25: Fix refcount leak caused by setting SO_BINDTODEVICE sockopt 2025-02-21 14:01:16 +01:00
batman-adv batman-adv: Ignore own maximum aggregation size during RX 2025-03-28 22:03:31 +01:00
bluetooth Bluetooth: L2CAP: Fix attempting to adjust outgoing MTU 2025-07-24 08:56:34 +02:00
bpf bpf, test_run: Fix use-after-free issue in eth_skb_pkt_type() 2025-02-27 04:30:18 -08:00
bridge net: bridge: Do not offload IGMP/MLD messages 2025-07-24 08:56:35 +02:00
caif
can can: bcm: add missing rcu read protection for procfs content 2025-05-29 11:03:19 +02:00
ceph
core net: selftests: fix TCP packet checksum 2025-07-06 11:01:41 +02:00
dcb
dccp
devlink devlink: fix xa_alloc_cyclic() error handling 2025-03-28 22:03:27 +01:00
dns_resolver
dsa net: dsa: tag_brcm: legacy: fix pskb_may_pull length 2025-06-19 15:32:16 +02:00
ethernet
ethtool ethtool: cmis_cdb: use correct rpl size in ethtool_cmis_module_poll() 2025-04-25 10:47:43 +02:00
handshake
hsr net: hsr: Fix PRP duplicate detection 2025-05-29 11:02:20 +02:00
ieee802154
ife
ipv4 xfrm: Set transport header to fix UDP GRO handling 2025-08-01 09:48:40 +01:00
ipv6 xfrm: Set transport header to fix UDP GRO handling 2025-08-01 09:48:40 +01:00
iucv
kcm
key xfrm: Add support for per cpu xfrm state handling. 2025-02-08 09:58:00 +01:00
l2tp ipv6: replace ipcm6_init calls with ipcm6_init_sk 2025-06-27 11:11:41 +01:00
l3mdev
lapb
llc llc: fix data loss when reading from a socket in llc_ui_recvmsg() 2025-05-29 11:03:20 +02:00
mac80211 wifi: mac80211: fix non-transmitted BSSID profile search 2025-07-17 18:37:17 +02:00
mac802154
mctp net: mctp: Ensure keys maintain only one ref to corresponding dev 2025-05-22 14:29:40 +02:00
mpls mpls: Use rcu_dereference_rtnl() in mpls_route_input_rcu(). 2025-06-27 11:11:43 +01:00
mptcp mptcp: reset fallback status gracefully at disconnect() time 2025-07-24 08:56:24 +02:00
ncsi net: ncsi: Fix GCPS 64-bit member variables 2025-06-19 15:31:42 +02:00
netfilter netfilter: nf_conntrack: fix crash due to removal of uninitialised entry 2025-07-24 08:56:33 +02:00
netlabel calipso: unlock rcu before returning -EAFNOSUPPORT 2025-06-19 15:32:37 +02:00
netlink netlink: make sure we allow at least one dump skb 2025-07-17 18:37:15 +02:00
netrom
nfc NFC: nci: uart: Set tty->disc_data only in success path 2025-06-27 11:11:21 +01:00
nsh
openvswitch net: openvswitch: Fix the dead loop of MPLS parse 2025-06-19 15:31:55 +02:00
packet af_packet: fix soft lockup issue caused by tpacket_snd() 2025-07-24 08:56:25 +02:00
phonet phonet/pep: Move call to pn_skb_get_dst_sockaddr() earlier in pep_sock_accept() 2025-07-24 08:56:24 +02:00
psample
qrtr
rds
rfkill
rose rose: fix dangling neighbour pointers in rose_rt_device_down() 2025-07-10 16:04:53 +02:00
rxrpc rxrpc: Fix transmission of an abort in response to an abort 2025-07-24 08:56:35 +02:00
sched net/sched: sch_qfq: Avoid triggering might_sleep in atomic context in qfq_delete_class 2025-08-01 09:48:41 +01:00
sctp sctp: Do not wake readers in __sctp_write_space() 2025-06-27 11:11:29 +01:00
smc smc: Fix various oops due to inet_sock type confusion. 2025-07-24 08:56:31 +02:00
strparser strparser: Add read_sock callback 2025-02-27 04:30:19 -08:00
sunrpc add a string-to-qstr constructor 2025-07-10 16:05:08 +02:00
switchdev net: switchdev: Convert blocking notification chain to a raw one 2025-03-22 12:54:12 -07:00
tipc tipc: Fix use-after-free in tipc_conn_close(). 2025-07-17 18:37:05 +02:00
tls tls: always refresh the queue when reading sock 2025-07-24 08:56:34 +02:00
unix af_unix: Don't set -ECONNRESET for consumed OOB skb. 2025-07-06 11:01:40 +02:00
vmw_vsock vsock: Fix IOCTL_VM_SOCKETS_GET_LOCAL_CID to check also transport_local 2025-07-17 18:37:05 +02:00
wireless wifi: cfg80211: fix S1G beacon head validation in nl80211 2025-07-17 18:37:16 +02:00
x25
xdp xsk: Fix race condition in AF_XDP generic RX path 2025-05-09 09:50:38 +02:00
xfrm xfrm: interface: fix use-after-free after changing collect_md xfrm interface 2025-08-01 09:48:41 +01:00
compat.c
devres.c
Kconfig
Kconfig.debug
Makefile
socket.c
sysctl_net.c