← Back to CVE Explorer

CVE-2026-98795

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: net: sparx5: skip ptp deinit if init was skipped sparx5_ptp_init() returns early on the base lan969x variants because they do not have the SPX5_FEATURE_PTP flag. It also returns early when no "ptp" interrupt is described. Unbinding the driver then causes a NULL pointer dereference when cleaning up uninitialized tx_skbs queues: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 Call trace: skb_queue_purge_reason+0x68/0x120 (P) sparx5_ptp_deinit+0x64/0xc0 mchp_sparx5_remove+0x38/0x70 platform_remove+0x20/0x30 device_remove+0x4c/0x80 Before per-port tx_skbs were added, a NULL dereference would have happened when calling ptp_clock_unregister() on the never-registered PTP clocks. Fix by returning early in sparx5_ptp_deinit() if PTP is not used.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:33.490000
Last modified
2026-10-19 10:19:43.517000
View original CVE JSON
{
  "id": "CVE-2026-98795",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-18T16:17:33.490",
  "lastModified": "2026-10-19T10:19:43.517",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: sparx5: skip ptp deinit if init was skipped\n\nsparx5_ptp_init() returns early on the base lan969x variants\nbecause they do not have the SPX5_FEATURE_PTP flag. It also returns early\nwhen no \"ptp\" interrupt is described. Unbinding the driver then causes a\nNULL pointer dereference when cleaning up uninitialized tx_skbs queues:\n\n    Unable to handle kernel NULL pointer dereference at virtual address\n    0000000000000008\n    Call trace:\n    skb_queue_purge_reason+0x68/0x120 (P)\n    sparx5_ptp_deinit+0x64/0xc0\n    mchp_sparx5_remove+0x38/0x70\n    platform_remove+0x20/0x30\n    device_remove+0x4c/0x80\n\nBefore per-port tx_skbs were added, a NULL dereference would have happened\nwhen calling ptp_clock_unregister() on the never-registered PTP clocks.\n\nFix by returning early in sparx5_ptp_deinit() if PTP is not used."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/net/ethernet/microchip/sparx5/sparx5_ptp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "0933bd04047c3b96ba49545a8f91e7e6f8f666ff",
              "lessThan": "35c706d6eb1963735814c5f5bb2674a96eacf3cc",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0933bd04047c3b96ba49545a8f91e7e6f8f666ff",
              "lessThan": "2879b65bfa548e10d59c5fba91d17f8a00cd7029",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "0933bd04047c3b96ba49545a8f91e7e6f8f666ff",
              "lessThan": "0d2c49915bc3aea4521cda5e4d42f24f63b94585",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/net/ethernet/microchip/sparx5/sparx5_ptp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.18",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.18",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.56",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.10",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0d2c49915bc3aea4521cda5e4d42f24f63b94585",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2879b65bfa548e10d59c5fba91d17f8a00cd7029",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/35c706d6eb1963735814c5f5bb2674a96eacf3cc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}