Re: [PATCH for-next] RDMA/core: Remove unnecessary statements

Leon Romanovsky
2022-02-24T19:16:13Z

On Wed, Feb 23, 2022 at 03:49:01PM +0800, Yajun Deng wrote:
> The rdma_zalloc_drv_obj() in __ib_alloc_pd() would zero pd, it unnecessary
> add NULL to the object in struct pd.
>
> The uverbs_free_pd() already return busy if pd->usecnt is true, there is
> no need to add a warning.
>
> Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
> ---
> drivers/infiniband/core/verbs.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
> index e821dc94a43e..03bc9d34c13d 100644
> --- a/drivers/infiniband/core/verbs.c
> +++ b/drivers/infiniband/core/verbs.c
> @@ -268,8 +268,6 @@ struct ib_pd *__ib_alloc_pd(struct ib_device *device, unsigned int flags,
> return ERR_PTR(-ENOMEM);
>
> pd->device = device;
> - pd->uobject = NULL;
> - pd->__internal_mr = NULL;
> atomic_set(&pd->usecnt, 0);
^^^^^^^^ this line should be removed too.

> pd->flags = flags;
>
> @@ -341,11 +339,6 @@ int ib_dealloc_pd_user(struct ib_pd *pd, struct ib_udata *udata)
> pd->__internal_mr = NULL;
> }
>
> - /* uverbs manipulates usecnt with proper locking, while the kabi
> - * requires the caller to guarantee we can't race here.
> - */
> - WARN_ON(atomic_read(&pd->usecnt));
> -

ib_dealloc_pd_user() is called not only in uverbs_free_pd(), but in ib_dealloc_pd() too.
So commit message is not really correct.

Of course, ib_dealloc_pd() is kernel verb and doesn't use ->usecnt at all.

Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>