net: liquidio: Initialize netdev pointer before queue setup
In the Linux kernel, the following vulnerability has been resolved: net: liquidio: Initialize netdev pointer before queue setup In setup_nic_devices(), the netdev is allocated using alloc_etherdev_mq(). However, the pointer to this structure is stored in oct->props[i].netdev only after the calls to netif_set_real_num_rx_queues() and netif_set_real_num_tx_queues(). If either of these functions fails, setup_nic_devices() returns an error without freeing the allocated netdev. Since oct->props[i].netdev is still NULL at this point, the cleanup function liquidio_destroy_nic_device() will fail to find and free the netdev, resulting in a memory leak. Fix this by initializing oct->props[i].netdev before calling the queue setup functions. This ensures that the netdev is properly accessible for cleanup in case of errors. Compile tested only. Issue found using a prototype static analysis tool and code review.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.250, 5.15.200, 6.1.163, 6.12.70, 6.18.10, 6.6.124
- CVEs
- CVE-2026-23258
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 23:16 UTC · Revision 1
Source evidence
net: liquidio: Initialize netdev pointer before queue setup
core-osv · Original sourcePublished 18 Mar 2026, 17:41 UTC
In the Linux kernel, the following vulnerability has been resolved: net: liquidio: Initialize netdev pointer before queue setup In setup_nic_devices(), the netdev is allocated using alloc_etherdev_mq(). However, the pointer to this structure is stored in oct->props[i].netdev only after the calls to netif_set_real_num_rx_queues() and netif_set_real_num_tx_queues(). If either of these functions fails, setup_nic_devices() returns an error without freeing the allocated netdev. Since oct->props[i].netdev is still NULL at this point, the cleanup function liquidio_destroy_nic_device() will fail to find and free the netdev, resulting in a memory leak. Fix this by initializing oct->props[i].netdev before calling the queue setup functions. This ensures that the netdev is properly accessible for cleanup in case of errors. Compile tested only. Issue found using a prototype static analysis tool and code review.
osv:CVE-2026-23258
Kernel
Fixed versions: 5.10.250, 5.15.200, 6.1.163, 6.6.124, 6.12.70, 6.18.10
Complete source record
{
"id": "6b91acf62b40ba9e10963c64b00de75e9f9d509df61600d818a29423321da5e9",
"url": "https://osv.dev/vulnerability/CVE-2026-23258",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "net: liquidio: Initialize netdev pointer before queue setup",
"summary": "In the Linux kernel, the following vulnerability has been resolved: net: liquidio: Initialize netdev pointer before queue setup In setup_nic_devices(), the netdev is allocated using alloc_etherdev_mq(). However, the pointer to this structure is stored in oct->props[i].netdev only after the calls to netif_set_real_num_rx_queues() and netif_set_real_num_tx_queues(). If either of these functions fails, setup_nic_devices() returns an error without freeing the allocated netdev. Since oct->props[i].netdev is still NULL at this point, the cleanup function liquidio_destroy_nic_device() will fail to find and free the netdev, resulting in a memory leak. Fix this by initializing oct->props[i].netdev before calling the queue setup functions. This ensures that the netdev is properly accessible for cleanup in case of errors. Compile tested only. Issue found using a prototype static analysis tool and code review.",
"evidence": "osv:CVE-2026-23258",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.250",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.200",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.163",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.124",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.70",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.10",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-23258",
"aliases": [
"CVE-2026-23258"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "c33c997346c34ea7b89aec99524ad9632a2f1e0c"
},
{
"fixed": "be109646cdaecab262f6276303b1763468c94378"
},
{
"fixed": "c81a8515fb8c8fb5d0dbc21f48337494bf1d60df"
},
{
"fixed": "a0e57c0b68c9e6f9a8fd7c1167861a5a730eb2f4"
},
{
"fixed": "c0ed6c77ec34050971fd0df2a94dfdea66d09331"
},
{
"fixed": "1d4590fde856cb94bd9a46e795c29d8288c238fc"
},
{
"fixed": "d028147ae06407cb355245db1774793600670169"
},
{
"fixed": "926ede0c85e1e57c97d64d9612455267d597bb2c"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23258.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.18.0"
},
{
"fixed": "5.10.250"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.200"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.163"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.124"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.70"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.10"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23258.json"
}
}
],
"modified": "2026-10-28T02:30:24.541940311Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/1d4590fde856cb94bd9a46e795c29d8288c238fc",
"https://git.kernel.org/stable/c/926ede0c85e1e57c97d64d9612455267d597bb2c",
"https://git.kernel.org/stable/c/a0e57c0b68c9e6f9a8fd7c1167861a5a730eb2f4",
"https://git.kernel.org/stable/c/be109646cdaecab262f6276303b1763468c94378",
"https://git.kernel.org/stable/c/c0ed6c77ec34050971fd0df2a94dfdea66d09331",
"https://git.kernel.org/stable/c/c81a8515fb8c8fb5d0dbc21f48337494bf1d60df",
"https://git.kernel.org/stable/c/d028147ae06407cb355245db1774793600670169",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23258.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-23258",
"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/23xxx/CVE-2026-23258.json"
}
},
"related_cves": [
{
"value": "CVE-2026-23258",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 490820,
"published_at": "2026-03-18T17:41:05.08+00:00"
}