RE: [PATCH rdma-next 3/3] RDMA/restrack: Release task struct which was hold by CM_ID object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Subject: [PATCH rdma-next 3/3] RDMA/restrack: Release task struct which
> was hold by CM_ID object
> 
> From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> 
> Tracking CM_ID resource is performed in two stages: creation of cm_id
> and connecting it to the cma_dev. It is needed because rdma-cm protocol
> exports two separate user-visible calls rdma_create_id and rdma_accept.
> 
> At the time of CM_ID creation, the real owner of that object is unknown
> yet and we need to grab task_struct. This task_struct is released or
> reassigned in attach phase later on. but call to rdma_destroy_id left
> this task_struct unreleased.
> 
> Such separation is unique to CM_ID and other restrack objects initialize
> in one shot. It means that it is safe to use "res->valid" check to catch
> unfinished CM_ID flow and release task_struct for that object.
> 
> Fixes: 00313983cda6 ("RDMA/nldev: provide detailed CM_ID information")
> Reported-by: Artemy Kovalyov <artemyko@xxxxxxxxxxxx>
> Reviewed-by: Artemy Kovalyov <artemyko@xxxxxxxxxxxx>
> Reviewed-by: Yossi Itigin <yosefe@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> ---
>  drivers/infiniband/core/cma.c      | 7 +++----
>  drivers/infiniband/core/restrack.c | 6 ++++--
>  2 files changed, 7 insertions(+), 6 deletions(-)

Looks correct,

Thanks.

Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx>





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux