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@xxxxxxxxx> > --- > 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@xxxxxxxxxx>