CVE-2024-35892: net/sched: fix lockdep splat in qdisc_tree_reduce_backlog()

Published May 19, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net/sched: fix lockdep splat in qdisctreereducebacklog()

qdisctreereducebacklog() is called with the qdisc lock held, not RTNL.

We must use qdisclookuprcu() instead of qdisclookup()

syzbot reported:

WARNING: suspicious RCU usage 6.1.74-syzkaller #0 Not tainted ----------------------------- net/sched/schapi.c:305 suspicious rcudereferenceprotected() usage!

other info that might help us debug this:

rcuscheduleractive = 2, debuglocks = 1 3 locks held by udevd/1142: #0: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rculockacquire include/linux/rcupdate.h:306 [inline] #0: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rcureadlock include/linux/rcupdate.h:747 [inline] #0: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: nettxaction+0x64a/0x970 net/core/dev.c:5282 #1: ffff888171861108 (&sch->q.lock){+.-.}-{2:2}, at: spinlock include/linux/spinlock.h:350 [inline] #1: ffff888171861108 (&sch->q.lock){+.-.}-{2:2}, at: nettxaction+0x754/0x970 net/core/dev.c:5297 #2: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rculockacquire include/linux/rcupdate.h:306 [inline] #2: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rcureadlock include/linux/rcupdate.h:747 [inline] #2: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: qdisctreereducebacklog+0x84/0x580 net/sched/schapi.c:792

stack backtrace: CPU: 1 PID: 1142 Comm: udevd Not tainted 6.1.74-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Call Trace: <TASK> [<ffffffff85b85f14>] dumpstack lib/dumpstack.c:88 [inline] [<ffffffff85b85f14>] dumpstacklvl+0x1b1/0x28f lib/dumpstack.c:106 [<ffffffff85b86007>] dumpstack+0x15/0x1e lib/dumpstack.c:113 [<ffffffff81802299>] lockdeprcususpicious+0x1b9/0x260 kernel/locking/lockdep.c:6592 [<ffffffff84f0054c>] qdisclookup+0xac/0x6f0 net/sched/schapi.c:305 [<ffffffff84f037c3>] qdisctreereducebacklog+0x243/0x580 net/sched/schapi.c:811 [<ffffffff84f5b78c>] pfifotailenqueue+0x32c/0x4b0 net/sched/schfifo.c:51 [<ffffffff84fbcf63>] qdiscenqueue include/net/schgeneric.h:833 [inline] [<ffffffff84fbcf63>] netemdequeue+0xeb3/0x15d0 net/sched/schnetem.c:723 [<ffffffff84eecab9>] dequeueskb net/sched/schgeneric.c:292 [inline] [<ffffffff84eecab9>] qdiscrestart net/sched/schgeneric.c:397 [inline] [<ffffffff84eecab9>] qdiscrun+0x249/0x1e60 net/sched/schgeneric.c:415 [<ffffffff84d7aa96>] qdiscrun+0xd6/0x260 include/net/pktsched.h:125 [<ffffffff84d85d29>] nettxaction+0x7c9/0x970 net/core/dev.c:5313 [<ffffffff85e002bd>] dosoftirq+0x2bd/0x9bd kernel/softirq.c:616 [<ffffffff81568bca>] invokesoftirq kernel/softirq.c:447 [inline] [<ffffffff81568bca>] irqexitrcu+0xca/0x230 kernel/softirq.c:700 [<ffffffff81568ae9>] irqexitrcu+0x9/0x20 kernel/softirq.c:712 [<ffffffff85b89f52>] sysvecapictimerinterrupt+0x42/0x90 arch/x86/kernel/apic/apic.c:1107 [<ffffffff85c00ccb>] asmsysvecapictimerinterrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:656

Other sources

In the Linux kernel, the following vulnerability has been resolved:

net/sched: fix lockdep splat in qdisctreereducebacklog()

The Linux kernel CVE team has assigned CVE-2024-35892 to this issue.

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024051949-CVE-2024-35892-0f0c@gregkh/T

Red Hat

Affected Software

10 affected componentsFixes available
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.22-16.12.25-1
redhat/kernel<6.1.85
6.1.85
redhat/kernel<6.6.26
6.6.26
redhat/kernel<6.8.5
6.8.5
redhat/kernel<6.9
6.9
Linux Linux kernel>=6.1.34<6.1.85
Linux Linux kernel>=6.3.8<6.6.26
Linux Linux kernel>=6.7<6.8.5
Linux Linux kernel=6.9-rc1
Linux Linux kernel=6.9-rc2

Event History

May 19, 2024
CVE Published
via MITRE·08:34 AM
Data Sourced
via MITRE·08:34 AM
Description
Data Sourced
via NVD·09:15 AM
Description
Data Sourced
via NVD·09:15 AM
RemedySeverityWeaknessAffected Software
May 20, 2024
Data Sourced
via Red Hat·11:43 AM
DescriptionSeverityAffected Software
Jul 11, 2024
Data Sourced
via Launchpad·07:46 PM
Description
Jan 23, 2025
Data Sourced
via Ubuntu·08:27 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-35892?

CVE-2024-35892 has a medium severity rating due to the potential for locking issues in the Linux kernel.

2

How do I fix CVE-2024-35892?

To resolve CVE-2024-35892, upgrade the Linux kernel to one of the patched versions such as 6.1.85, 6.6.26, 6.8.5, or 6.9.

3

What Linux kernel versions are affected by CVE-2024-35892?

CVE-2024-35892 affects various versions of the Linux kernel including those below 6.1.85, 6.6.26, 6.8.5, and 6.9.

4

What is the impact of CVE-2024-35892?

The impact of CVE-2024-35892 may lead to unexpected behavior in network scheduling due to lock management issues.

5

Is CVE-2024-35892 specific to any Linux distribution?

CVE-2024-35892 is present in kernels used by both Red Hat and Debian distributions.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203