CVE-2025-40347
Awaiting Analysis Awaiting Analysis - Queue
BaseFortify

Publication date: 2025-12-16

Last updated on: 2025-12-18

Assigner: kernel.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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-16
Last Modified
2025-12-18
Generated
2026-05-07
AI Q&A
2025-12-16
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Currently, no data is known.
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
What immediate steps should I take to mitigate this vulnerability?

Apply the fix that adjusts enetc_lock_mdio to prevent recursive lock acquisition, which avoids the deadlock. This involves updating the Linux kernel to a version where this issue is resolved.


Can you explain this vulnerability to me?

This vulnerability is a deadlock issue in the Linux kernel's enetc network driver. It occurs due to recursive acquisition of a read lock called enetc_mdio_lock. Specifically, when the enetc_poll function acquires the read lock, a higher-priority writer tries to acquire the same lock and causes preemption. The writer waits because the read lock is held, but the readers cannot reacquire the lock because the writer is waiting, leading to a deadlock and thread hang. The issue was fixed by changing enetc_lock_mdio to prevent recursive lock acquisition.


How can this vulnerability impact me? :

This vulnerability can cause the affected system to hang or become unresponsive due to a deadlock in the network driver. This can lead to degraded network performance or complete loss of network connectivity on systems using the LS1028A platform with the affected Linux kernel, potentially impacting system stability and availability.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart