CVE-2026-93151 in LinuxИнформация

Сводка

по VulDB • 18.09.2026

В ядре Linux была устранена следующая уязвимость:

nvmet-rdma: исправлена утечка ресурсов ответа при разрыве очереди (queue teardown)

При удалении nvme-таргета с использованием транспорта RDMA, пока операции ввода/вывода находятся в процессе выполнения, ответ может быть отправлен, но его подтверждение отправки (send completion) никогда не доставляется до того, как соединение будет разорвано. В результате функции `nvmet_rdma_send_done()` и `nvmet_rdma_release_rsp()` никогда не вызываются для данного ответа, что приводит к утечке выделенного контекста чтения/записи RDMA и дескрипторов списков данных запроса (SGL).

Эти утечки памяти воспроизводятся при запуске теста blktests nvme/061 с использованием транспорта rdma и драйвера siw. Функция ядра kmemleak сообщает о них следующим образом:

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

Чтобы избежать утечек памяти, необходимо освобождать память для операций ввода/вывода, находящихся в процессе выполнения (in-flight responses), при разрыве очереди QP. Вызовите функцию `nvmet_rdma_free_rsp_resources()`, которая освободит контекст чтения/записи RDMA и дескрипторы списков данных запроса (SGL) для таких ответов.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

Linux

Резервировать

17.09.2026

Раскрытие

18.09.2026

Модерация

принято

Вход

VDB-407159

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!