Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix devx subscribe-event unwind NULL dereference MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT() links event_sub into sub_list before initializing the fields used by the shared error path. If eventfd_ctx_fdget() then fails, the unwind path dereferences event_sub->ev_file in uverbs_uobject_put() and calls subscribe_event_xa_dealloc() with an unset xa_key_level1. subscribe_event_xa_alloc() creates the XA entry exactly once for a given key_level1, on the first occurrence of that key. The unwind path must therefore call subscribe_event_xa_dealloc() exactly once for it as well. Enforce that by adding devx_key_in_sub_list() and calling subscribe_event_xa_dealloc() only when the last matching pending entry is being cleaned up.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 6e15b770461eeaa0ff73934922cb670a6a9db04e; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 9be9aca28424228586fe9211c373ebdb826ebb6c; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before f345e744b6b087188cde2377da5cbe9713b61353; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 1025dc2f7ba29b04b8687790fa91f9cd1a53141e; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 7921821fc2b19c01588311f6e7468ae5b68b1f61; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 5100febf8e9d6c8c5ba8dc6534c6a5e3376e5989; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 78b9589fda266c71f0f9d0c858d4fa7381a890a5; affected 7597385371425febdaa8c6a1da3625d4ffff16f5 before 43f8f7946814c8e5f464518246fdbc69b6e32326 |
| Linux / Linux | affected 5.3; unaffected 0 before 5.3; unaffected 5.10.261 through 5.10.*; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.97 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/6e15b770461eeaa0ff73934922cb670a6a9db04e
- https://git.kernel.org/stable/c/9be9aca28424228586fe9211c373ebdb826ebb6c
- https://git.kernel.org/stable/c/f345e744b6b087188cde2377da5cbe9713b61353
- https://git.kernel.org/stable/c/1025dc2f7ba29b04b8687790fa91f9cd1a53141e
- https://git.kernel.org/stable/c/7921821fc2b19c01588311f6e7468ae5b68b1f61
- https://git.kernel.org/stable/c/5100febf8e9d6c8c5ba8dc6534c6a5e3376e5989
- https://git.kernel.org/stable/c/78b9589fda266c71f0f9d0c858d4fa7381a890a5
- https://git.kernel.org/stable/c/43f8f7946814c8e5f464518246fdbc69b6e32326