net: sparx5: free the matchall entry on destroy
In the Linux kernel, the following vulnerability has been resolved: net: sparx5: free the matchall entry on destroy sparx5_tc_matchall_replace() allocates a struct sparx5_mall_entry for every offloaded matchall filter and adds it to sparx5->mall_entries. sparx5_tc_matchall_destroy() removes the entry from the list, but never frees it, so the entry of every deleted mirror and goto matchall filter is leaked. Free the entry after unlinking it. The leak was discovered by an AI code review agent, and reproduced with kmemleak on a lan969x EV board (EV23X71A) by repeatedly adding and deleting matchall mirror and goto filters. With the fix, kmemleak no longer reports the leak.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.12.113, 6.18.57, 7.2.11
- CVEs
- CVE-2026-99029
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 23:05 UTC · Revision 1
Source evidence
net: sparx5: free the matchall entry on destroy
core-osv · Original sourcePublished 23 Oct 2026, 12:21 UTC
In the Linux kernel, the following vulnerability has been resolved: net: sparx5: free the matchall entry on destroy sparx5_tc_matchall_replace() allocates a struct sparx5_mall_entry for every offloaded matchall filter and adds it to sparx5->mall_entries. sparx5_tc_matchall_destroy() removes the entry from the list, but never frees it, so the entry of every deleted mirror and goto matchall filter is leaked. Free the entry after unlinking it. The leak was discovered by an AI code review agent, and reproduced with kmemleak on a lan969x EV board (EV23X71A) by repeatedly adding and deleting matchall mirror and goto filters. With the fix, kmemleak no longer reports the leak.
osv:CVE-2026-99029
Kernel
Fixed versions: 6.12.113, 6.18.57, 7.2.11
Complete source record
{
"id": "437ca5c2b0680883e609a3b54ef7048861aac93b54826a9fe8ed0fdd80a207bc",
"url": "https://osv.dev/vulnerability/CVE-2026-99029",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "net: sparx5: free the matchall entry on destroy",
"summary": "In the Linux kernel, the following vulnerability has been resolved: net: sparx5: free the matchall entry on destroy sparx5_tc_matchall_replace() allocates a struct sparx5_mall_entry for every offloaded matchall filter and adds it to sparx5->mall_entries. sparx5_tc_matchall_destroy() removes the entry from the list, but never frees it, so the entry of every deleted mirror and goto matchall filter is leaked. Free the entry after unlinking it. The leak was discovered by an AI code review agent, and reproduced with kmemleak on a lan969x EV board (EV23X71A) by repeatedly adding and deleting matchall mirror and goto filters. With the fix, kmemleak no longer reports the leak.",
"evidence": "osv:CVE-2026-99029",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.12.113",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.57",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.11",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-99029",
"aliases": [
"CVE-2026-99029"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "1ede4acf045ced70d9b72465e2e968aec71e0a42"
},
{
"fixed": "fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e"
},
{
"fixed": "cc7cc5955d22ea90555f09a680d4bf56d4a0c24a"
},
{
"fixed": "44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e"
},
{
"fixed": "2b82e16d6084cbc651e3c902198f1945408ee1a5"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-99029.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.10.0"
},
{
"fixed": "6.12.113"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.57"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.11"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-99029.json"
}
}
],
"modified": "2026-10-28T02:30:40.230353306Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/2b82e16d6084cbc651e3c902198f1945408ee1a5",
"https://git.kernel.org/stable/c/44efb6d92dd5a2b1dd9553d92ef0eebde135fc6e",
"https://git.kernel.org/stable/c/cc7cc5955d22ea90555f09a680d4bf56d4a0c24a",
"https://git.kernel.org/stable/c/fa0c27d9e17ee2e46d4b8274a6fde706f0d6725e",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99029.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-99029",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99029.json"
}
},
"related_cves": [
{
"value": "CVE-2026-99029",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 507816,
"published_at": "2026-10-23T12:21:21.898+00:00"
}