In the Linux kernel, the following vulnerability has been resolved:
net: enetc: fix the deadlock of enetcmdiolock
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 enetcmdiolock. Here list some of the call stacks identified under the enetc_poll path that may lead to a deadlock:
enetcpoll -> enetclockmdio -> enetccleanrxring OR napicompletedone -> napigroreceive -> enetcstartxmit -> enetclockmdio -> enetcmaptxbuffs -> enetcunlockmdio -> enetcunlock_mdio
After enetcpoll 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 enetcpoll cannot acquire the read lock again because a writer is already waiting, leading to a thread hang.
Currently, the deadlock is avoided by adjusting enetclockmdio to prevent recursive lock acquisition.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40347.json",
"cna_assigner": "Linux"
}