Re: [PATCH for-rc] RDMA/siw: Fix passive connection establishment

From: Jason Gunthorpe
Date: Wed Mar 04 2020 - 13:24:17 EST


On Fri, Feb 28, 2020 at 06:35:34PM +0100, Bernard Metzler wrote:
> Holding the rtnl_lock while iterating a devices interface
> address list potentially causes deadlocks with the
> cma_netdev_callback. While this was implemented to
> limit the scope of a wildcard listen to addresses
> of the current device only, a better solution limits
> the scope of the socket to the device. This completely
> avoiding locking, and also results in significant code
> simplification.
>
> Reported-by: syzbot+55de90ab5f44172b0c90@xxxxxxxxxxxxxxxxxxxxxxxxx
> Suggested-by: Jason Gunthorpe <jgg@xxxxxxxx>
> Signed-off-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx>
> ---
> drivers/infiniband/sw/siw/siw_cm.c | 137 +++++++----------------------
> 1 file changed, 31 insertions(+), 106 deletions(-)

Applied to for-next, the possibility of hitting the locking inversion
found by syzkaller is really remote as you'd have to run siw on top of
bond and then do horrible things to the bond.

Jason