Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
7597385371425febdaa8c6a1da3625d4ffff16f5 to < 6e15b770461eeaa0ff73934922cb670a6a9db04eaffected7597385371425febdaa8c6a1da3625d4ffff16f5 to < 9be9aca28424228586fe9211c373ebdb826ebb6caffected7597385371425febdaa8c6a1da3625d4ffff16f5 to < f345e744b6b087188cde2377da5cbe9713b61353affected7597385371425febdaa8c6a1da3625d4ffff16f5 to < 1025dc2f7ba29b04b8687790fa91f9cd1a53141eaffected7597385371425febdaa8c6a1da3625d4ffff16f5 to < 7921821fc2b19c01588311f6e7468ae5b68b1f61affected7597385371425febdaa8c6a1da3625d4ffff16f5 to < 5100febf8e9d6c8c5ba8dc6534c6a5e3376e5989affected7597385371425febdaa8c6a1da3625d4ffff16f5 to < 78b9589fda266c71f0f9d0c858d4fa7381a890a5affected7597385371425febdaa8c6a1da3625d4ffff16f5 to < 43f8f7946814c8e5f464518246fdbc69b6e32326affected
Linux Linux
Default version status: affected
5.3affected0 to < 5.3unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
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 ↗