Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: fix double free in rvu_rep_rsrc_init() rvu_rep_rsrc_init() allocates queue memory before calling otx2_init_hw_resources(). When hardware resource setup fails, otx2_init_hw_resources() already unwinds the partially initialized SQ, CQ, and aura state before returning an error. The representor error path then calls otx2_free_hw_resources() again and can free the same resources a second time. Fix this by splitting the cleanup labels so that a failure from otx2_init_hw_resources() only releases queue memory. Keep the otx2_free_hw_resources() call for failures that happen after hardware resource initialization completed successfully. The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1-rc3. Runtime validation was not performed because reproducing this path requires OcteonTX2 representor hardware.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 3937b7308d4fce2793fa7fa56ed0faf0f8b6dc7a before 8864b664d0443ecb8e56690e5546fcda5fe5e81b; affected 3937b7308d4fce2793fa7fa56ed0faf0f8b6dc7a before eb72a65f2bb2cc059e2ca5d83de01fdf3ea602ad; affected 3937b7308d4fce2793fa7fa56ed0faf0f8b6dc7a before e8fb3de2a8effcaf62bec2c56b93d8bb480371d1 |
| Linux / Linux | affected 6.13; unaffected 0 before 6.13; unaffected 6.18.34 through 6.18.*; unaffected 7.0.11 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.