Linux: bnxt_en: Don't free the live ring's TPA state on queue restart failure
What fixes it
- 8ade95619cbfd1fc57f0f1a9a5ebdca2345a8d27LinuxCVE List
- 0596a7caa6fc283e142716739099c038d8714082LinuxCVE List
- 5ce7f36c334d723954855ac769ede2fe0e8f89c8LinuxCVE List
- 6.12.112LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
bnxt_en: Don't free the live ring's TPA state on queue restart failure
bnxt_queue_mem_alloc() shallow copies the live RX ring into the clone:
memcpy(clone, rxr, sizeof(*rxr));
the code currently clears pointers that the clone owns (such as rx_agg_bmap), but rx_tpa and rx_tpa_idx_map are left pointing at memory of the live ring that was cloned.
If an allocation failure happens later and the err_free_tpa_info label is taken, the live ring's memory can be freed while still in use.
Fix this by initializing the clone's pointers to NULL to prevent live ring state from being freed inadvertently.
Text from CVE List
Affected versions 11
- Linuxaffected: 0997443906b96a051011f220a61e6dce4602ec54 before e42287b4d38d653f7d4a47f6c29b0c01288bb050CVE List
- Linuxaffected: bd649c5cc958169b8a8a3e77ea926d92d472b02a before 8ade95619cbfd1fc57f0f1a9a5ebdca2345a8d27CVE List
- Linuxaffected: bd649c5cc958169b8a8a3e77ea926d92d472b02a before 0596a7caa6fc283e142716739099c038d8714082CVE List
- Linuxaffected: bd649c5cc958169b8a8a3e77ea926d92d472b02a before 5ce7f36c334d723954855ac769ede2fe0e8f89c8CVE List
- Linuxaffected: 6.12.20 before 6.12.112CVE List
- Linuxaffected: 6.13CVE List
- Linuxunaffected: all versions before 6.13CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/e42287b4d38d653f7d4a47f6c29b0c01288bb050Referencevia CVE List
- git.kernel.org/stable/c/8ade95619cbfd1fc57f0f1a9a5ebdca2345a8d27Referencevia CVE List
- git.kernel.org/stable/c/0596a7caa6fc283e142716739099c038d8714082Referencevia CVE List
- git.kernel.org/stable/c/5ce7f36c334d723954855ac769ede2fe0e8f89c8Referencevia CVE List