diff options
| author | Prathamesh Deshpande <prathameshdeshpande7@gmail.com> | 2026-04-28 23:42:49 +0100 |
|---|---|---|
| committer | Leon Romanovsky <leon@kernel.org> | 2026-05-18 04:58:41 -0400 |
| commit | 43f8f7946814c8e5f464518246fdbc69b6e32326 (patch) | |
| tree | 924e67339f5ee1eec81e0589e75e271d46e1d5ff /scripts/objdiff | |
| parent | 1eae35b37923cb71b0cb5136d00671440d488b9f (diff) | |
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.
Fixes: 759738537142 ("IB/mlx5: Enable subscription for device events over DEVX")
Signed-off-by: Prathamesh Deshpande <prathameshdeshpande7@gmail.com>
Link: https://patch.msgid.link/20260428224319.37682-1-prathameshdeshpande7@gmail.com
Reviewed-by: Yishai Hadas <yishaih@nvidia.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions
