CVE-2026-23258
N/A
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < be109646cdaecab262f6276303b1763468c94378 | affected |
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < c81a8515fb8c8fb5d0dbc21f48337494bf1d60df | affected |
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < a0e57c0b68c9e6f9a8fd7c1167861a5a730eb2f4 | affected |
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < c0ed6c77ec34050971fd0df2a94dfdea66d09331 | affected |
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < 1d4590fde856cb94bd9a46e795c29d8288c238fc | affected |
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < d028147ae06407cb355245db1774793600670169 | affected |
| Linux | Linux | c33c997346c34ea7b89aec99524ad9632a2f1e0c < 926ede0c85e1e57c97d64d9612455267d597bb2c | affected |
| Linux | Linux | 4.18 | affected |
| Linux | Linux | 0 < 4.18 | unaffected |
| Linux | Linux | 5.10.250 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.200 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.163 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.124 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.70 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.10 <= 6.18.* | unaffected |
| Linux | Linux | 6.19 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/be109646cdaecab262f6276303b1763468c94378
- https://git.kernel.org/stable/c/c81a8515fb8c8fb5d0dbc21f48337494bf1d60df
- https://git.kernel.org/stable/c/a0e57c0b68c9e6f9a8fd7c1167861a5a730eb2f4
- https://git.kernel.org/stable/c/c0ed6c77ec34050971fd0df2a94dfdea66d09331
- https://git.kernel.org/stable/c/1d4590fde856cb94bd9a46e795c29d8288c238fc
- https://git.kernel.org/stable/c/d028147ae06407cb355245db1774793600670169
- https://git.kernel.org/stable/c/926ede0c85e1e57c97d64d9612455267d597bb2c
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.