Home

Description

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix memory corruption when FW resources change during ifdown bnxt_set_dflt_rings() assumes that it is always called before any TC has been created. So it doesn't take bp->num_tc into account and assumes that it is always 0 or 1. In the FW resource or capability change scenario, the FW will return flags in bnxt_hwrm_if_change() that will cause the driver to reinitialize and call bnxt_cancel_reservations(). This will lead to bnxt_init_dflt_ring_mode() calling bnxt_set_dflt_rings() and bp->num_tc may be greater than 1. This will cause bp->tx_ring[] to be sized too small and cause memory corruption in bnxt_alloc_cp_rings(). Fix it by properly scaling the TX rings by bp->num_tc in the code paths mentioned above. Add 2 helper functions to determine bp->tx_nr_rings and bp->tx_nr_rings_per_tc.

PUBLISHED Reserved 2025-04-16 | Published 2025-09-16 | Updated 2025-09-29 | Assigner Linux

Product status

Default status
unaffected

ec5d31e3c15d5233b491400133c67f78a320062c (git) before d00e98977ef519280b075d783653e2c492fffbb6
affected

ec5d31e3c15d5233b491400133c67f78a320062c (git) before 9ab6a9950f152e094395d2e3967f889857daa185
affected

ec5d31e3c15d5233b491400133c67f78a320062c (git) before 2747328ba2714f1a7454208dbbc1dc0631990b4a
affected

Default status
affected

5.4
affected

Any version before 5.4
unaffected

6.12.45 (semver)
unaffected

6.16.5 (semver)
unaffected

6.17 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/d00e98977ef519280b075d783653e2c492fffbb6

git.kernel.org/...c/9ab6a9950f152e094395d2e3967f889857daa185

git.kernel.org/...c/2747328ba2714f1a7454208dbbc1dc0631990b4a

cve.org (CVE-2025-39810)

nvd.nist.gov (CVE-2025-39810)

Download JSON