net: lan966x: fix page pool leak in error paths
In the Linux kernel, the following vulnerability has been resolved: net: lan966x: fix page pool leak in error paths lan966x_fdma_rx_alloc() creates a page pool but does not destroy it if the subsequent fdma_alloc_coherent() call fails, leaking the pool. Similarly, lan966x_fdma_init() frees the coherent DMA memory when lan966x_fdma_tx_alloc() fails but does not destroy the page pool that was successfully created by lan966x_fdma_rx_alloc(), leaking it. Add the missing page_pool_destroy() calls in both error paths.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.12.82, 6.18.23, 6.19.13, 6.6.160
- CVEs
- CVE-2026-31645
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 17:18 UTC · Revision 1
Source evidence
net: lan966x: fix page pool leak in error paths
core-osv · Original sourcePublished 24 Apr 2026, 14:44 UTC
In the Linux kernel, the following vulnerability has been resolved: net: lan966x: fix page pool leak in error paths lan966x_fdma_rx_alloc() creates a page pool but does not destroy it if the subsequent fdma_alloc_coherent() call fails, leaking the pool. Similarly, lan966x_fdma_init() frees the coherent DMA memory when lan966x_fdma_tx_alloc() fails but does not destroy the page pool that was successfully created by lan966x_fdma_rx_alloc(), leaking it. Add the missing page_pool_destroy() calls in both error paths.
osv:CVE-2026-31645
Kernel
Fixed versions: 6.6.160, 6.12.82, 6.18.23, 6.19.13
Complete source record
{
"id": "b2b0fb979d7097ab79a122d023d74093db05122f039ae8574e313563c434db97",
"url": "https://osv.dev/vulnerability/CVE-2026-31645",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "net: lan966x: fix page pool leak in error paths",
"summary": "In the Linux kernel, the following vulnerability has been resolved: net: lan966x: fix page pool leak in error paths lan966x_fdma_rx_alloc() creates a page pool but does not destroy it if the subsequent fdma_alloc_coherent() call fails, leaking the pool. Similarly, lan966x_fdma_init() frees the coherent DMA memory when lan966x_fdma_tx_alloc() fails but does not destroy the page pool that was successfully created by lan966x_fdma_rx_alloc(), leaking it. Add the missing page_pool_destroy() calls in both error paths.",
"evidence": "osv:CVE-2026-31645",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.6.160",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.82",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.23",
"evidence": "/affected/1/ranges"
},
{
"value": "6.19.13",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-31645",
"aliases": [
"CVE-2026-31645"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "11871aba19748b3387e83a2db6360aa7119e9a1a"
},
{
"fixed": "a229a4dc87302fa131f3394b09b0efd8c255a5ac"
},
{
"fixed": "73e940c4249dc5ec6422d1fae535d192fb125955"
},
{
"fixed": "22e1ee9f22b5c3bb702bb6d4167d770002a85b2b"
},
{
"fixed": "4941e234cfd67ac911fb259642b453f9f76aac41"
},
{
"fixed": "076344a6ad9d1308faaed1402fdcfdda68b604ab"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31645.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.160"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.82"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.23"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "6.19.13"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-31645.json"
}
}
],
"modified": "2026-10-28T02:30:30.610224885Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/076344a6ad9d1308faaed1402fdcfdda68b604ab",
"https://git.kernel.org/stable/c/22e1ee9f22b5c3bb702bb6d4167d770002a85b2b",
"https://git.kernel.org/stable/c/4941e234cfd67ac911fb259642b453f9f76aac41",
"https://git.kernel.org/stable/c/73e940c4249dc5ec6422d1fae535d192fb125955",
"https://git.kernel.org/stable/c/a229a4dc87302fa131f3394b09b0efd8c255a5ac",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31645.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-31645",
"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/31xxx/CVE-2026-31645.json"
}
},
"related_cves": [
{
"value": "CVE-2026-31645",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 497759,
"published_at": "2026-04-24T14:44:58.868+00:00"
}