CVE-2025-40347

net: enetc: fix the deadlock of enetc_mdio_lock

State
Published
Severity
7.5 High
Published
Dec 16, 2025
Updated
Aug 5, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

net: enetc: fix the deadlock of enetc_mdio_lock

After applying the workaround for err050089, the LS1028A platform experiences RCU stalls on RT kernel. This issue is caused by the recursive acquisition of the read lock enetc_mdio_lock. Here list some of the call stacks identified under the enetc_poll path that may lead to a deadlock:

enetc_poll -> enetc_lock_mdio -> enetc_clean_rx_ring OR napi_complete_done -> napi_gro_receive -> enetc_start_xmit -> enetc_lock_mdio -> enetc_map_tx_buffs -> enetc_unlock_mdio -> enetc_unlock_mdio

After enetc_poll acquires the read lock, a higher-priority writer attempts to acquire the lock, causing preemption. The writer detects that a read lock is already held and is scheduled out. However, readers under enetc_poll cannot acquire the read lock again because a writer is already waiting, leading to a thread hang.

Currently, the deadlock is avoided by adjusting enetc_lock_mdio to prevent recursive lock acquisition.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 6d36ecdbc4410e61a0e02adc5d3abeee22a8ffd3 to before a649161526736f48bcc592e3a412e5bcd7dd9e24Affected
  • 6d36ecdbc4410e61a0e02adc5d3abeee22a8ffd3 to before 2781ca82ce8cad263d80b617addb727e6a84c9e5Affected
  • 6d36ecdbc4410e61a0e02adc5d3abeee22a8ffd3 to before 1f92f5bd057a4fad9dab6af17963cdd21e5da6edAffected
  • 6d36ecdbc4410e61a0e02adc5d3abeee22a8ffd3 to before 2e55a49dc3b2a6b23329e4fbbd8a5feb20e220aaAffected
  • 6d36ecdbc4410e61a0e02adc5d3abeee22a8ffd3 to before 50bd33f6b3922a6b760aa30d409cae891cec8fb5Affected
  • bf9c564716a13dde6a990d3b02c27cd6e39608bfAffected
  • ff966263f5f9fdf9740f03fed0762ce73c230a6aAffected
  • 5.10.24 to before 5.11Affected
  • 5.11.7 to before 5.12Affected
LinuxLinux
  • 5.12Affected
  • before 5.12Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.115 through 6.6.*Not affected
  • 6.12.56 through 6.12.*Not affected
  • 6.17.6 through 6.17.*Not affected
  • 6.18 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.