aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mlx4
diff options
context:
space:
mode:
authorParav Pandit <parav@mellanox.com>2018-08-30 08:35:19 +0300
committerJason Gunthorpe <jgg@mellanox.com>2018-09-06 13:01:59 -0600
commit954a8e3aea87e896e320cf648c1a5bbe47de443e (patch)
treefe1fb0ea23827207ef93717c4f572a7386781cc5 /drivers/infiniband/hw/mlx4
parentRDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one() (diff)
downloadlinux-dev-954a8e3aea87e896e320cf648c1a5bbe47de443e.tar.xz
linux-dev-954a8e3aea87e896e320cf648c1a5bbe47de443e.zip
RDMA/cma: Protect cma dev list with lock
When AF_IB addresses are used during rdma_resolve_addr() a lock is not held. A cma device can get removed while list traversal is in progress which may lead to crash. ie CPU0 CPU1 ==== ==== rdma_resolve_addr() cma_resolve_ib_dev() list_for_each() cma_remove_one() cur_dev->device mutex_lock(&lock) list_del(); mutex_unlock(&lock); cma_process_remove(); Therefore, hold a lock while traversing the list which avoids such situation. Cc: <stable@vger.kernel.org> # 3.10 Fixes: f17df3b0dede ("RDMA/cma: Add support for AF_IB to rdma_resolve_addr()") Signed-off-by: Parav Pandit <parav@mellanox.com> Reviewed-by: Daniel Jurgens <danielj@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx4')
0 files changed, 0 insertions, 0 deletions