Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c33c997346c34ea7b89aec99524ad9632a2f1e0c to < be109646cdaecab262f6276303b1763468c94378affectedc33c997346c34ea7b89aec99524ad9632a2f1e0c to < c81a8515fb8c8fb5d0dbc21f48337494bf1d60dfaffectedc33c997346c34ea7b89aec99524ad9632a2f1e0c to < a0e57c0b68c9e6f9a8fd7c1167861a5a730eb2f4affectedc33c997346c34ea7b89aec99524ad9632a2f1e0c to < c0ed6c77ec34050971fd0df2a94dfdea66d09331affectedc33c997346c34ea7b89aec99524ad9632a2f1e0c to < 1d4590fde856cb94bd9a46e795c29d8288c238fcaffectedc33c997346c34ea7b89aec99524ad9632a2f1e0c to < d028147ae06407cb355245db1774793600670169affectedc33c997346c34ea7b89aec99524ad9632a2f1e0c to < 926ede0c85e1e57c97d64d9612455267d597bb2caffected
Linux Linux
Default version status: affected
4.18affected0 to < 4.18unaffected5.10.250 to ≤ 5.10.*unaffected5.15.200 to ≤ 5.15.*unaffected6.1.163 to ≤ 6.1.*unaffected6.6.124 to ≤ 6.6.*unaffected6.12.70 to ≤ 6.12.*unaffected6.18.10 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected
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 ↗