net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY
In the Linux kernel, the following vulnerability has been resolved: net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY DSA has 2 kinds of drivers: 1. Those who call dsa_switch_suspend() and dsa_switch_resume() from their device PM ops: qca8k-8xxx, bcm_sf2, microchip ksz 2. Those who don't: all others. The above methods should be optional. For type 1, dsa_switch_suspend() calls dsa_user_suspend() -> phylink_stop(), and dsa_switch_resume() calls dsa_user_resume() -> phylink_start(). These seem good candidates for setting mac_managed_pm = true because that is essentially its definition [1], but that does not seem to be the biggest problem for now, and is not what this change focuses on. Talking strictly about the 2nd category of DSA drivers here (which do not have MAC managed PM, meaning that for their attached PHYs, mdio_bus_phy_suspend() and mdio_bus_phy_resume() should run in full), I have noticed that the following warning from mdio_bus_phy_resume() is triggered: WARN_ON(phydev->state != PHY_HALTED && phydev->state != PHY_READY && phydev->state != PHY_UP); because the PHY state machine is running. It's running as a result of a previous dsa_user_open() -> ... -> phylink_start() -> phy_start() having been initiated by the user. The previous mdio_bus_phy_suspend() was supposed to have called phy_stop_machine(), but it didn't. So this is why the PHY is in state PHY_NOLINK by the time mdio_bus_phy_resume() runs. mdio_bus_phy_suspend() did not c
CVE-2025-37945
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2025-37945
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "744d23c71af39c7dc77ac7c3cac87ae86a181a85",
"lessThan": "17eef1e44883845b9567afc893dc41e004c08d65",
"versionType": "git"
},
{
"status": "affected",
"version": "744d23c71af39c7dc77ac7c3cac87ae86a181a85",
"lessThan": "043aa41c43f8cb9cce75367ea07895ce68b5abb0",
"versionType": "git"
},
{
"status": "affected",
"version": "744d23c71af39c7dc77ac7c3cac87ae86a181a85",
"lessThan": "a6ed6f8ec81b8ca7100dcd9e62bdbc0dff1b2259",
"versionType": "git"
},
{
"status": "affected",
"version": "744d23c71af39c7dc77ac7c3cac87ae86a181a85",
"lessThan": "54e5d00a8de6c13f6c01a94ed48025e882cd15f7",
"versionType": "git"
},
{
"status": "affected",
"version": "744d23c71af39c7dc77ac7c3cac87ae86a181a85",
"lessThan": "bd4037d51d3f6667636a1383e78e48a5b7b60755",
"versionType": "git"
},
{
"status": "affected",
"version": "744d23c71af39c7dc77ac7c3cac87ae86a181a85",
"lessThan": "fc75ea20ffb452652f0d4033f38fe88d7cfdae35",
"versionType": "git"
},
{
"status": "affected",
"version": "47ac7b2f6a1ffef76e55a9ec146881a36673284b",
"versionType": "git"
},
{
"status": "affected",
"version": "7dc0ed411de3450e75b2a9600b5742cbf0908167",
"versionType": "git"
},
{
"status": "affected",
"version": "5.15.63",
"lessThan": "5.16",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.19.4",
"lessThan": "5.20",
"versionType": "semver"
}
],
"programFiles": [
"drivers/net/phy/phy_device.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.0"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "6.1.168",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.122",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.24",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.13.12",
"versionType": "semver",
"lessThanOrEqual": "6.13.*"
},
{
"status": "unaffected",
"version": "6.14.3",
"versionType": "semver",
"lessThanOrEqual": "6.14.*"
},
{
"status": "unaffected",
"version": "6.15",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/net/phy/phy_device.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2025-37945
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #27007 · Revision 1
- Added to Heist Feed
- Publisher date