In the Linux kernel, the following vulnerability has been resolved:
net: phy: Don't register LEDs for genphy
If a PHY has no driver, the genphy driver is probed/removed directly in phyattach/detach. If the PHY's ofnode has an "leds" subnode, then the LEDs will be (un)registered when probing/removing the genphy driver. This could occur if the leds are for a non-generic driver that isn't loaded for whatever reason. Synchronously removing the PHY device in phydetach leads to the following deadlock:
rtnllock() ndoclose() ... phydetach() phyremove() phyledsunregister() ledclassdevunregister() ledtriggerset() netdevtriggerdeactivate() unregisternetdevicenotifier() rtnl_lock()
There is a corresponding deadlock on the open/register side of things (and that one is reported by lockdep), but it requires a race while this one is deterministic.
Generic PHYs do not support LEDs anyway, so don't bother registering them.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38537.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38537.json"
[
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75e1b2079ef0653a2f7aa69be515d86b7faf1908",
"id": "CVE-2025-38537-64952678",
"digest": {
"function_hash": "34516635988796568733456370263170388473",
"length": 1845.0
},
"signature_type": "Function",
"target": {
"file": "drivers/net/phy/phy_device.c",
"function": "phy_probe"
}
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75e1b2079ef0653a2f7aa69be515d86b7faf1908",
"id": "CVE-2025-38537-ce79a87c",
"digest": {
"line_hashes": [
"323159416061451689688350763064949389261",
"181892385608656588422927487240536611391",
"30743800681730927526658941180216554861",
"9770819480356948001506853824543075614",
"80779245614875865027097912258259188754",
"187922245389266798886412799673862920179",
"33772799843818993886195202003336584642",
"160170021804068031415111662817479042438"
],
"threshold": 0.9
},
"signature_type": "Line",
"target": {
"file": "drivers/net/phy/phy_device.c"
}
},
{
"signature_version": "v1",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75e1b2079ef0653a2f7aa69be515d86b7faf1908",
"deprecated": false,
"target": {
"file": "drivers/net/phy/phy_device.c",
"function": "phy_remove"
},
"digest": {
"function_hash": "6719551104616657581507373980930652051",
"length": 379.0
},
"id": "CVE-2025-38537-dc043131"
}
]