Re: [PATCH -next] RDMA/hns: Fix return in hns_roce_rereg_user_mr()

From: Leon Romanovsky
Date: Thu Aug 05 2021 - 08:30:22 EST


On Thu, Aug 05, 2021 at 09:23:11AM -0300, Jason Gunthorpe wrote:
> On Thu, Aug 05, 2021 at 01:58:53PM +0300, Leon Romanovsky wrote:
>
> > > IMO, if ibv_rereg_mr failed, the mr is in undefined state, user
> > > needs to call ibv_dereg_mr in order to release it, so there no
> > > need to recover the original state.
> >
> > The thing is that it undefined state in the kernel. What will be if
> > user will change access_flags and try to use that "broken" MR
> > anyway? Will you catch it?
>
> rereg is not atomic, if the rereg fails in the middle the mr should be
> left in some safe state.

It is not the case in the hns flow, they leave such MR in limbo state.

>
> Jason