Commit 8693a01
committed
net/sched: sch_qfq: Avoid triggering might_sleep in atomic context in qfq_delete_class
jira VULN-89291
cve-bf CVE-2025-38477
commit-author Xiang Mei <xmei5@asu.edu>
commit cf074ec
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: 5e28d5a ("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>
(cherry picked from commit cf074ec)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>1 parent b8a042f commit 8693a01
1 file changed
Lines changed: 3 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
533 | 533 | | |
534 | 534 | | |
535 | 535 | | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | 536 | | |
540 | 537 | | |
541 | 538 | | |
| |||
554 | 551 | | |
555 | 552 | | |
556 | 553 | | |
557 | | - | |
| 554 | + | |
558 | 555 | | |
559 | 556 | | |
560 | 557 | | |
| 558 | + | |
561 | 559 | | |
562 | 560 | | |
563 | 561 | | |
| |||
1507 | 1505 | | |
1508 | 1506 | | |
1509 | 1507 | | |
| 1508 | + | |
1510 | 1509 | | |
1511 | 1510 | | |
1512 | 1511 | | |
| |||
0 commit comments