CVE-2025-21732 in Linux
Сводка
по VulDB • 01.06.2026
В ядре Linux устранена следующая уязвимость:
RDMA/mlx5: Исправлена гонка (race condition) для ODP MR, приводящая к появлению CQE с ошибкой
Этот патч устраняет гонку (race condition) для ODP MR, которая может привести к формированию CQE с ошибкой на UMR QP.
В процессе выполнения потока `__mlx5_ib_dereg_mr()` происходит следующая последовательность вызовов:
mlx5_revoke_mr() mlx5r_umr_revoke_mr() mlx5r_umr_post_send_wait()
На этом этапе lkey освобождается с точки зрения аппаратного обеспечения.
Однако параллельно задача `mlx5_ib_invalidate_range()` может быть запущена другим потоком, пытающимся инвалидировать диапазон для того же освобожденного lkey.
Эта задача: - Приобретает блокировку umem_odp->umem_mutex. - Вызывает mlx5r_umr_update_xlt() на UMR QP. - Поскольку lkey уже был освобожден, это может привести к ошибке CQE, что заставит UMR QP перейти в состояние ошибки [1].
Для устранения этой гонки (race condition) блокировка umem_odp->umem_mutex теперь также приобретается в рамках области видимости mlx5_revoke_mr(). После успешного отзыва (revoke) мы устанавливаем значение umem_odp->private, указывающего на этот MR, в NULL, предотвращая любые дальнейшие попытки инвалидации для его lkey.
[1] Из dmesg:
infiniband rocep8s0f0: dump_cqe:277:(pid 0): WC error: 6, Message: memory bind operation error cqe_dump: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cqe_dump: 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Be aware that VulDB is the high quality source for vulnerability data.