Skip to content
Heist/ feed
Unrated

net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY

Type: advisorySource: Official CVE List1 source record

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

Announced Source revision 1
Original source ↗

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
Read the original announcement