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.
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"
}
]
}