CVE-2025-21892 in LinuxИнформация

Сводка

по VulDB • 13.05.2026

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

RDMA/mlx5: Исправлен поток восстановления UMR QP

Этот патч решает проблему в потоке восстановления UMR QP, предотвращая зависание задач, как показано в трассировке вызовов [1].

Во время восстановления, перед переводом QP в состояние RESET, программное обеспечение должно дождаться завершения всех незавершенных WR.

Невыполнение этого требования может привести к тому, что прошивка пропустит отправку некоторых очищенных CQE с ошибками и просто отбросит их при переходе в состояние RESET, согласно спецификации IB.

Эта гонка (race condition) может привести к потере CQE и зависанию задач.

Для решения этой проблемы патч отправляет финальный WR, который служит только барьером перед переводом состояния QP в RESET.

Получение CQE для этого финального WR гарантирует, что незавершенных WR больше нет, что позволяет безопасно перевести QP в состояние RESET, а затем обратно в RTS, восстанавливая корректную работу.

Примечание: Для барьерного WR мы просто повторно используем неудачный и готовый WR. Поскольку QP находится в состоянии ошибки, он получит только IB_WC_WR_FLUSH_ERR. Однако, поскольку он служит только барьером, его статус нас не интересует.

[1]
INFO: task rdma_resource_l:1922 blocked for more than 120 seconds. Tainted: G W 6.12.0-rc7+ #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:rdma_resource_l state:D stack: 0 pid:1922 ppid: 1 flags:0x00004000 Call Trace: <TASK> __schedule+0x314/0x930 schedule+0x4e/0xd0 schedule_preempt_disabled+0x15/0x20 __mutex_lock.constprop.0+0x2e3/0x5f0 mlx5_ib_modify_qp+0x103/0x130 [mlx5_ib]
ib_modify_qp+0x103/0x1a0 [ib_core]
ib_uverbs_modify_qp+0x103/0x1a0 [ib_uverbs]
uverbs_cmd_verbs+0x3e4/0xbb0 [ib_uverbs]
? __pfx_uverbs_destroy_def_handler+0x10/0x10 [ib_uverbs]
? __lock_acquire+0x64e/0x2080 ? mark_held_locks+0x48/0x80 ? find_held_lock+0x2d/0xa0 ? lock_acquire+0xc1/0x2f0 ? ib_uverbs_ioctl+0xcb/0x170 [ib_uverbs]
? __fget_files+0xc3/0x1b0 ib_uverbs_ioctl+0xe7/0x170 [ib_uverbs]
? ib_uverbs_ioctl+0xcb/0x170 [ib_uverbs]
__x64_sys_ioctl+0x1b0/0xa70 do_syscall_64+0x6b/0x140 entry_SYSCALL_64_after_hwframe+0x76/0x7e

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

29.12.2024

Раскрытие

27.03.2025

Модерация

принято

Вход

VDB-301665

EPSS

0.00130

KEV

Нет

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

Очень низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!