CVE-2025-39805 (GCVE-0-2025-39805)
Vulnerability from cvelistv5
Published
2025-09-16 13:00
Modified
2025-09-16 13:00
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: net: macb: fix unregister_netdev call order in macb_remove() When removing a macb device, the driver calls phy_exit() before unregister_netdev(). This leads to a WARN from kernfs: ------------[ cut here ]------------ kernfs: can not remove 'attached_dev', no directory WARNING: CPU: 1 PID: 27146 at fs/kernfs/dir.c:1683 Call trace: kernfs_remove_by_name_ns+0xd8/0xf0 sysfs_remove_link+0x24/0x58 phy_detach+0x5c/0x168 phy_disconnect+0x4c/0x70 phylink_disconnect_phy+0x6c/0xc0 [phylink] macb_close+0x6c/0x170 [macb] ... macb_remove+0x60/0x168 [macb] platform_remove+0x5c/0x80 ... The warning happens because the PHY is being exited while the netdev is still registered. The correct order is to unregister the netdev before shutting down the PHY and cleaning up the MDIO bus. Fix this by moving unregister_netdev() ahead of phy_exit() in macb_remove().
Impacted products
Vendor Product Version
Linux Linux Version: 8b73fa3ae02b2401960de41b0454c0321377b203
Version: 8b73fa3ae02b2401960de41b0454c0321377b203
Version: 8b73fa3ae02b2401960de41b0454c0321377b203
Create a notification for this product.
   Linux Linux Version: 5.18
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/cadence/macb_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ff0d3bad32108b57265e5b48f15327549af771d3",
              "status": "affected",
              "version": "8b73fa3ae02b2401960de41b0454c0321377b203",
              "versionType": "git"
            },
            {
              "lessThan": "775fe690fd4a3337ad2115de2adb41b227d4dae7",
              "status": "affected",
              "version": "8b73fa3ae02b2401960de41b0454c0321377b203",
              "versionType": "git"
            },
            {
              "lessThan": "01b9128c5db1b470575d07b05b67ffa3cb02ebf1",
              "status": "affected",
              "version": "8b73fa3ae02b2401960de41b0454c0321377b203",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/ethernet/cadence/macb_main.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "lessThan": "5.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.45",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.16.*",
              "status": "unaffected",
              "version": "6.16.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.17-rc4",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.45",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16.5",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17-rc4",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: macb: fix unregister_netdev call order in macb_remove()\n\nWhen removing a macb device, the driver calls phy_exit() before\nunregister_netdev(). This leads to a WARN from kernfs:\n\n  ------------[ cut here ]------------\n  kernfs: can not remove \u0027attached_dev\u0027, no directory\n  WARNING: CPU: 1 PID: 27146 at fs/kernfs/dir.c:1683\n  Call trace:\n    kernfs_remove_by_name_ns+0xd8/0xf0\n    sysfs_remove_link+0x24/0x58\n    phy_detach+0x5c/0x168\n    phy_disconnect+0x4c/0x70\n    phylink_disconnect_phy+0x6c/0xc0 [phylink]\n    macb_close+0x6c/0x170 [macb]\n    ...\n    macb_remove+0x60/0x168 [macb]\n    platform_remove+0x5c/0x80\n    ...\n\nThe warning happens because the PHY is being exited while the netdev\nis still registered. The correct order is to unregister the netdev\nbefore shutting down the PHY and cleaning up the MDIO bus.\n\nFix this by moving unregister_netdev() ahead of phy_exit() in\nmacb_remove()."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-09-16T13:00:06.731Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ff0d3bad32108b57265e5b48f15327549af771d3"
        },
        {
          "url": "https://git.kernel.org/stable/c/775fe690fd4a3337ad2115de2adb41b227d4dae7"
        },
        {
          "url": "https://git.kernel.org/stable/c/01b9128c5db1b470575d07b05b67ffa3cb02ebf1"
        }
      ],
      "title": "net: macb: fix unregister_netdev call order in macb_remove()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-39805",
    "datePublished": "2025-09-16T13:00:06.731Z",
    "dateReserved": "2025-04-16T07:20:57.136Z",
    "dateUpdated": "2025-09-16T13:00:06.731Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-39805\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-09-16T13:15:50.750\",\"lastModified\":\"2025-09-18T13:43:45.290\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: macb: fix unregister_netdev call order in macb_remove()\\n\\nWhen removing a macb device, the driver calls phy_exit() before\\nunregister_netdev(). This leads to a WARN from kernfs:\\n\\n  ------------[ cut here ]------------\\n  kernfs: can not remove \u0027attached_dev\u0027, no directory\\n  WARNING: CPU: 1 PID: 27146 at fs/kernfs/dir.c:1683\\n  Call trace:\\n    kernfs_remove_by_name_ns+0xd8/0xf0\\n    sysfs_remove_link+0x24/0x58\\n    phy_detach+0x5c/0x168\\n    phy_disconnect+0x4c/0x70\\n    phylink_disconnect_phy+0x6c/0xc0 [phylink]\\n    macb_close+0x6c/0x170 [macb]\\n    ...\\n    macb_remove+0x60/0x168 [macb]\\n    platform_remove+0x5c/0x80\\n    ...\\n\\nThe warning happens because the PHY is being exited while the netdev\\nis still registered. The correct order is to unregister the netdev\\nbefore shutting down the PHY and cleaning up the MDIO bus.\\n\\nFix this by moving unregister_netdev() ahead of phy_exit() in\\nmacb_remove().\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/01b9128c5db1b470575d07b05b67ffa3cb02ebf1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/775fe690fd4a3337ad2115de2adb41b227d4dae7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ff0d3bad32108b57265e5b48f15327549af771d3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…