diff options
author | Bart Van Assche <[email protected]> | 2024-06-05 08:51:01 -0600 |
---|---|---|
committer | Leon Romanovsky <[email protected]> | 2024-06-09 11:25:10 +0300 |
commit | aee2424246f9f1dadc33faa78990c1e2eb7826e4 (patch) | |
tree | 91aabdd4a39ed9023055b3718b431528817fe0f8 /drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.c | |
parent | a1babdb5b615751ef5ace97a37f35d0ae40fbf13 (diff) |
RDMA/iwcm: Fix a use-after-free related to destroying CM IDs
iw_conn_req_handler() associates a new struct rdma_id_private (conn_id) with
an existing struct iw_cm_id (cm_id) as follows:
conn_id->cm_id.iw = cm_id;
cm_id->context = conn_id;
cm_id->cm_handler = cma_iw_handler;
rdma_destroy_id() frees both the cm_id and the struct rdma_id_private. Make
sure that cm_work_handler() does not trigger a use-after-free by only
freeing of the struct rdma_id_private after all pending work has finished.
Cc: [email protected]
Fixes: 59c68ac31e15 ("iw_cm: free cm_id resources on the last deref")
Reviewed-by: Zhu Yanjun <[email protected]>
Tested-by: Shin'ichiro Kawasaki <[email protected]>
Signed-off-by: Bart Van Assche <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Leon Romanovsky <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.c')
0 files changed, 0 insertions, 0 deletions