Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix double free related to rereg_user_mr If IB_MR_REREG_TRANS is set during rereg_user_mr, the umem will be released and a new one will be allocated in irdma_rereg_mr_trans. If any step of irdma_rereg_mr_trans fails after the new umem is allocated, it releases the umem, but does not set iwmr->region to NULL. The problem is that this failure is propagated to the user, who will then call ibv_dereg_mr (as they should). Then, the dereg_mr path will see a non-NULL umem and attempt to call ib_umem_release again. Fix this by setting iwmr->region to NULL after ib_umem_release. Fixed: 5ac388db27c4 ("RDMA/irdma: Add support to re-register a memory region")
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
715fdb3b30541cc8180b7cdc6aa9f8c307afdf25 to < 62298a48f8b8788ad8b8464e6ffdf1ddebd2217eaffected5ac388db27c443dadfbb0b8b23fa7ccf429d901a to < 66964118f1f50ed85001c8fc9f7ab5bbdd021ee0affected5ac388db27c443dadfbb0b8b23fa7ccf429d901a to < 0f22c32141acdcda266b26cab2b830baf870f3e0affected5ac388db27c443dadfbb0b8b23fa7ccf429d901a to < 0c5d70bcb9d2275a1c8515a924016fcfeb4ab441affected5ac388db27c443dadfbb0b8b23fa7ccf429d901a to < 29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2affected6.6.120 to < 6.6.136affected
Linux Linux
Default version status: affected
6.7affected0 to < 6.7unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/62298a48f8b8788ad8b8464e6ffdf1ddebd2217e ↗
- https://git.kernel.org/stable/c/66964118f1f50ed85001c8fc9f7ab5bbdd021ee0 ↗
- https://git.kernel.org/stable/c/0f22c32141acdcda266b26cab2b830baf870f3e0 ↗
- https://git.kernel.org/stable/c/0c5d70bcb9d2275a1c8515a924016fcfeb4ab441 ↗
- https://git.kernel.org/stable/c/29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2 ↗