nvmet-rdma: fix response resource leak on queue teardown
Published Sep 17, 2026
7.5
HIGHCVSS 3.1
EPSS 0.70%
Description
When an nvme target with rdma transport is removed while I/Os are in flight, a response can be posted but its send completion is never delivered before the connection is torn down. As a result nvmet_rdma_send_done() and nvmet_rdma_release_rsp() are never called for the response, and this leaks the allocated RDMA read/write context and request SGLs.
These leaks are recreated by running blktests nvme/061 with the rdma transport and the siw driver. Kernel kmemleak feature reports them as follows:
unreferenced object 0xffff88812bc490c0 (size 32): comm "kworker/2:1H", pid 409, jiffies 4307744490 backtrace (crc 89afd339): __kmalloc_noprof+0x5f9/0x890 sgl_alloc_order+0x7b/0x380 nvmet_req_alloc_sgls+0x290/0x4f0 [nvmet] nvmet_rdma_map_sgl_keyed+0x241/0x12e0 [nvmet_rdma] nvmet_rdma_handle_command+0x73e/0xb80 [nvmet_rdma] __ib_process_cq+0x149/0x4c0 [ib_core] ib_cq_poll_work+0x49/0x160 [ib_core] process_one_work+0x8b2/0x1640 worker_thread+0x5fd/0xfe0 kthread+0x367/0x460 ret_from_fork+0x655/0x9d0 ret_from_fork_asm+0x1a/0x30
unreferenced object 0xffff88814bd05e80 (size 64): comm "kworker/3:1H", pid 148, jiffies 4295195428 backtrace (crc e35510cb): __kmalloc_noprof+0x5f9/0x890 rdma_rw_ctx_init+0x333/0x1fa0 [ib_core] nvmet_rdma_map_sgl_keyed+0x5c8/0x12e0 [nvmet_rdma] nvmet_rdma_handle_command+0x73e/0xb80 [nvmet_rdma] __ib_process_cq+0x149/0x4c0 [ib_core] ib_cq_poll_work+0x49/0x160 [ib_core] process_one_work+0x8b2/0x1640 worker_thread+0x5fd/0xfe0 kthread+0x367/0x460 ret_from_fork+0x655/0x9d0 ret_from_fork_asm+0x1a/0x30
To avoid the memory leaks, reclaim the memory of the in-flight responses when the queue QP is torn down. Call nvmet_rdma_free_rsp_resources() that frees up the RDMA read/write context and the request SGLs of such responses.
Affected products
-
Affected
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
-
Affected
- 4.8
Unaffected
- ≥ 0, < 4.8
- ≥ 5.15.221, ≤ 5.15.*
- ≥ 6.1.188, ≤ 6.1.*
- ≥ 6.12.110, ≤ 6.12.*
- ≥ 6.18.52, ≤ 6.18.*
- ≥ 6.6.157, ≤ 6.6.*
- ≥ 7.2.6, ≤ 7.2.*
- 7.3-rc1
Default status is the baseline for the product. Each version can override it (patched versions can be marked unaffected).
No data.
No data.
No Red Hat product state for this CVE.
No package ranges for this CVE.
Remediation
No remediation recorded yet.
No CWE recorded.
References (8)
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-82259 Advisory
- https://git.kernel.org/stable/c/0114dd303b373522dea06053aabae34bdd33a7c4
- https://git.kernel.org/stable/c/156ec10a8be2c33b0c279d8b2f4fe8e16fa89ef7
- https://git.kernel.org/stable/c/5cc3b21729d45b5af8f79891f9dedb7e6b6dbd08
- https://git.kernel.org/stable/c/91cfa74f1f3772e8c3662c064a45d8633e00c78e
- https://git.kernel.org/stable/c/9584b3c30e4ee8ca315bdc12249cc6c47cf1a482
- https://git.kernel.org/stable/c/ca795fc1d8a1a4ab0e6bd1d27c9adb78d4ed1a1c
- https://git.kernel.org/stable/c/d553a9dc1c45666e76d8d2ac9a4f8ff0cbf53a50
Change history (0)
No recorded changes yet.
CVE.org / MITRE
CISA Vulnrichment
No data
Red Hat
No data
GitHub
No data