aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/task.c
diff options
context:
space:
mode:
authorXiang Mei <[email protected]>2025-07-17 23:01:28 +0000
committerPaolo Abeni <[email protected]>2025-07-22 09:48:34 +0000
commitcf074eca0065bc5142e6004ae236bb35a2687fdf (patch)
treef549b848ed65c0b66898221fda5f300296f122dc /rust/helpers/task.c
parentgve: Fix stuck TX queue for DQ queue format (diff)
downloadkernel-cf074eca0065bc5142e6004ae236bb35a2687fdf.tar.gz
kernel-cf074eca0065bc5142e6004ae236bb35a2687fdf.zip
net/sched: sch_qfq: Avoid triggering might_sleep in atomic context in qfq_delete_class
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: 5e28d5a3f774 ("net/sched: sch_qfq: Fix race condition on qfq_aggregate") Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Xiang Mei <[email protected]> Link: https://patch.msgid.link/[email protected] Reviewed-by: Cong Wang <[email protected]> Reviewed-by: Dan Carpenter <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
Diffstat (limited to 'rust/helpers/task.c')
0 files changed, 0 insertions, 0 deletions