net: atl1c: fix soft lockup on out-of-range tpd_cons read
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: net: atl1c: fix soft lockup on out-of-range tpd_cons read The hardware can report an out-of-range tpd_cons (seen as 0xffff) while the PCIe link/MAC is resetting. An out-of-range value can never be reached and the loop below would spin forever. To avoid a soft lockup treat it as "nothing new to clean" instead. Reproduced on two machines, same NIC (Qualcomm Atheros AR8151 v2.0, 4-port), triggered by rebooting a Mikrotik CCR2004 PCIe card that the ports are directly linked to: • Ubuntu 26.04.1 LTS, kernel 7.0.0-31-generic. The link-flap precursor, before the lockup was captured with a full trace elsewhere: atl1c 0000:05:00.0 enp5s0f0: NETDEV WATCHDOG: CPU: 4: transmit queue 2 timed out 489984 ms atl1c 0000:05:00.0: MAC state machine can't be idle since disabled for 10ms second atl1c 0000:05:00.0: atl1c: enp5s0f0 NIC Link is Up<65535 Mbps Full Duplex> 65535 (0xffff) here is the same value tpd_cons reads back once the loop below gets stuck. • Proxmox VE, kernel 7.0.14-11-pve. Same NIC/trigger, this time caught by the soft lockup watchdog with a full stack trace: watchdog: BUG: soft lockup - CPU#12 stuck for 354s! [napi/eth%d-0:329] CPU: 12 UID: 0 PID: 329 Comm: napi/eth%d-0 Tainted: P O L 7.0.14-11-pve #1 PREEMPT(lazy) RIP: 0010:atl1c_clean_tx+0x142/0x2d0 [atl1c] Call Trace: <TASK> __napi_poll+0x32/0x1e0 napi_threaded_poll_loop+0x286/0x2e0 napi_threaded_poll+0xfd/0x140 kthread+0xf7/0x130 ret_from_fork+0x2da/0x3a0 ret_from_fork_asm+0x1a/0x30 </TASK>
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in e7acd4cdeccbcdfd407adeb72b1eba14d1145b6f; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in 5ea2576a4f5ec476f33169fdbe9090d2b038ad13; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in 4daf80da0c38b8cd92c111ad96cb38322aabf586; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in 57b55367b6e3accc55a989afeaf127063e3614dc; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in 9f2cc71a2e2799d9c993c73f1bd36507eef6ae43; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in 586847400b1168a88917287ac02c2c91a620b841; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in d4ab263e40fcf7cfa38a43ec774067d32eb94e16; From 43250ddd75a35d1f7926d989a10fefd30c37eaa7 · fixed in 36c2009d90f2210ef92e6f4f2850e8b57b09e754
- Linux Linux
2.6.29
- KernelLinux
From 2.6.29 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/e7acd4cdeccbcdfd407adeb72b1eba14d1145b6f
- stable/c/5ea2576a4f5ec476f33169fdbe9090d2b038ad13
- stable/c/4daf80da0c38b8cd92c111ad96cb38322aabf586
- stable/c/57b55367b6e3accc55a989afeaf127063e3614dc
- stable/c/9f2cc71a2e2799d9c993c73f1bd36507eef6ae43
- stable/c/586847400b1168a88917287ac02c2c91a620b841
- stable/c/d4ab263e40fcf7cfa38a43ec774067d32eb94e16
- stable/c/36c2009d90f2210ef92e6f4f2850e8b57b09e754