Re: [PATCH 07/13] RDMA/rxe: Rename kfree_rcu() to kfree_rcu_mightsleep()

From: Uladzislau Rezki
Date: Thu Mar 09 2023 - 09:15:08 EST


> On Wed, Feb 01, 2023 at 04:08:13PM +0100, Uladzislau Rezki (Sony) wrote:
> > The kfree_rcu()'s single argument name is deprecated therefore
> > rename it to kfree_rcu_mightsleep() variant. The goal is explicitly
> > underline that it is for sleepable contexts.
> >
> > Please check the RXE driver in a way that a single argument can
> > be used. Briefly looking at it and rcu_head should be embed to
> > free an obj over RCU-core. The context might be atomic.
> >
> > Cc: Bob Pearson <rpearsonhpe@xxxxxxxxx>
> > Cc: Jason Gunthorpe <jgg@xxxxxxxxxx>
> > Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
> > ---
> > drivers/infiniband/sw/rxe/rxe_pool.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> Could you please add you reviwed-by or Acked-by tags so we can bring
> our series with renaming for the next merge window?
>
> Thanks!
>
__rxe_cleanup() can be called in two contexts, sleepable and not.
Therefore usage of a single argument of the kvfree_rcu() is not correct
here.

Could you please fix and check your driver? If my above statement
is not correct, please provide Acked-by or Reviwed-by tags to the
path that is in question.

Otherwise please add an rcu_head in your data to free objects over
kvfree_rcu() using double argument API.

Could you please support?

--
Uladzislau Rezki