net: liquidio: Initialize netdev pointer before queue setup
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.18
References 7
git.kernel.org
- stable/c/be109646cdaecab262f6276303b1763468c94378
- stable/c/c81a8515fb8c8fb5d0dbc21f48337494bf1d60df
- stable/c/a0e57c0b68c9e6f9a8fd7c1167861a5a730eb2f4
- stable/c/c0ed6c77ec34050971fd0df2a94dfdea66d09331
- stable/c/1d4590fde856cb94bd9a46e795c29d8288c238fc
- stable/c/d028147ae06407cb355245db1774793600670169
- stable/c/926ede0c85e1e57c97d64d9612455267d597bb2c