7.8
/ 10
HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Description
In the Linux kernel, the following vulnerability has been resolved:
RDMA/umem: Fix double dma_buf_unpin in failure path
In ib_umem_dmabuf_get_pinned_with_dma_device(), the call to
ib_umem_dmabuf_map_pages() can fail. If this occurs, the dmabuf
is immediately unpinned but the umem_dmabuf->pinned flag is still
set. Then, when ib_umem_release() is called, it calls
ib_umem_dmabuf_revoke() which will call dma_buf_unpin() again.
Fix this by removing the immediate unpin upon failure and just let
the ib_umem_release/revoke path handle it. This also ensures the
proper unmap-unpin unwind ordering if the dmabuf_map_pages call
happened to fail due to dma_resv_wait_timeout (and therefore has
a non-NULL umem_dmabuf->sgt).
RDMA/umem: Fix double dma_buf_unpin in failure path
In ib_umem_dmabuf_get_pinned_with_dma_device(), the call to
ib_umem_dmabuf_map_pages() can fail. If this occurs, the dmabuf
is immediately unpinned but the umem_dmabuf->pinned flag is still
set. Then, when ib_umem_release() is called, it calls
ib_umem_dmabuf_revoke() which will call dma_buf_unpin() again.
Fix this by removing the immediate unpin upon failure and just let
the ib_umem_release/revoke path handle it. This also ensures the
proper unmap-unpin unwind ordering if the dmabuf_map_pages call
happened to fail due to dma_resv_wait_timeout (and therefore has
a non-NULL umem_dmabuf->sgt).
Basic Information
ID
CVE-2026-43128
Source
Linux
Published
May 6, 2026 at 11:27
Modified
May 8, 2026 at 12:40
Affected Product
Vendor
Linux
Product
Linux
Version
1e4df4a21c5ac722df1099eee30cad9246c889b5
Affected Versions
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 5.16
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 1e4df4a21c5ac722df1099eee30cad9246c889b5
Linux Linux 5.16
References
- git.kernel.org /stable/c/70542b69abff34d24b11ae0bb200cc7a766d18df
- git.kernel.org /stable/c/b324327ff6f48d8065dca67eb3b91357e72726bd
- git.kernel.org /stable/c/ba3bf0f1bf1d5d0404678485e872980532fcc2c4
- git.kernel.org /stable/c/d3e32e2f3262f1b25d77c085ace38e2cc4ad75cf
- git.kernel.org /stable/c/40126bcbefa79ea86672e05dae608596bab38319
- git.kernel.org /stable/c/104016eb671e19709721c1b0048dd912dc2e96be