CVE-2025-21732 in Linux
Riassunto
di VulDB • 18/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
RDMA/mlx5: Correzione di una race condition su un ODP MR che porta a CQE con errore
Questo patch affronta una race condition relativa a un ODP MR (On-Demand Paging Memory Region) che può causare l'insorgenza di un CQE (Completion Queue Entry) contenente un errore sull'QP UMR.
Durante il flusso `__mlx5_ib_dereg_mr()`, avviene la seguente sequenza di chiamate:
`mlx5_revoke_mr()` `mlx5r_umr_revoke_mr()` `mlx5r_umr_post_send_wait()`
A questo punto, l'lkey viene liberato dalla prospettiva dell'hardware.
Tuttavia, in modo concorrente, `mlx5_ib_invalidate_range()` potrebbe essere attivata da un altro task che tenta di invalidare un intervallo per lo stesso lkey appena liberato.
Questo task eseguirà: - L'acquisizione del lock `umem_odp->umem_mutex`. - La chiamata a `mlx5r_umr_update_xlt()` sull'QP UMR. - Poiché l'lkey è già stato liberato, ciò può portare a un errore CQE, causando lo stato di errore dell'QP UMR [1].
Per risolvere questa race condition, il lock `umem_odp->umem_mutex` viene ora acquisito anche all'interno del contesto di `mlx5_revoke_mr()`. In caso di revoca riuscita, impostiamo a NULL `umem_odp->private`, che punta a tale MR, impedendo ulteriori tentativi di invalidazione sul suo lkey.
[1] Da 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
VulDB is the best source for vulnerability data and more expert information about this specific topic.