]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/siw: Fix passive connection establishment
authorBernard Metzler <bmt@zurich.ibm.com>
Fri, 28 Feb 2020 17:35:34 +0000 (18:35 +0100)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 4 Mar 2020 18:22:46 +0000 (14:22 -0400)
commit505ab794d91e582a07352b7c4352915c5a59ee81
tree4ef2acb644fa52c3a53f1b4438a425a1900c0b60
parente06c9ead6bef3a7c14a43f27c35209563bda7edc
RDMA/siw: Fix passive connection establishment

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.

Fixes: 7739a189c7c3 ("RDMA/siw: Add missing rtnl_lock around access to ifa")
Link: https://lore.kernel.org/r/20200228173534.26815-1-bmt@zurich.ibm.com
Reported-by: syzbot+55de90ab5f44172b0c90@syzkaller.appspotmail.com
Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/sw/siw/siw_cm.c