-----"Jason Gunthorpe" <jgg@xxxxxxxx> wrote: ----- >To: "Bernard Metzler" <BMT@xxxxxxxxxxxxxx> >From: "Jason Gunthorpe" <jgg@xxxxxxxx> >Date: 02/27/2020 04:53PM >Cc: "syzbot" <syzbot+55de90ab5f44172b0c90@xxxxxxxxxxxxxxxxxxxxxxxxx>, >chuck.lever@xxxxxxxxxx, dledford@xxxxxxxxxx, leon@xxxxxxxxxx, >linux-kernel@xxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, >netdev@xxxxxxxxxxxxxxx, parav@xxxxxxxxxxxx, >syzkaller-bugs@xxxxxxxxxxxxxxxx, willy@xxxxxxxxxxxxx >Subject: [EXTERNAL] Re: possible deadlock in cma_netdev_callback > >On Thu, Feb 27, 2020 at 10:11:13AM +0000, Bernard Metzler wrote: > >> Thanks for letting me know! Hmm, we cannot use RCU locks since >> we potentially sleep. One solution would be to create a list >> of matching interfaces while under lock, unlock and use that >> list for calling siw_listen_address() (which may sleep), >> right...? > >Why do you need to iterate over addresses anyhow? Shouldn't the >listen >just be done with the address the user gave and a BIND DEVICE to the >device siw is connected to? The user may give a wildcard local address, so we'd have to bind to all addresses of that device... Best, Bernard. > >Also that loop in siw_create looks wrong to me > >Jason > >