RDMA/mlx5: Annotate lock dependency in bind/unbind slave port
Subsystems (2)
PATCH 1/1 RDMA/mlx5: Annotate lock dependency in bind/unbind slave port
From: Leon Romanovsky <[email protected]>
NULL-ing notifier_call is performed under protection of mlx5_ib_multiport_mutex lock. Such protection is not easily spotted and better to be guarded by lockdep annotation.
Signed-off-by Leon Romanovsky <[email protected]>
---
Changelog v1:
* Removed comments as we added lockdep annotations
* Added lockdep to bind port flow too
* https://lore.kernel.org/linux-rdma/[email protected]
--- drivers/infiniband/hw/mlx5/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/infiniband/hw/mlx5/main.c +4 -2
@@ -5825,7 +5825,6 @@ static void init_delay_drop(struct mlx5_ib_dev *dev)mlx5_ib_warn (dev,"Failed to init delay drop debugfs\n" ); } -/* The mlx5_ib_multiport_mutex should be held when calling this function */ static void mlx5_ib_unbind_slave_port (struct mlx5_ib_dev *ibdev,struct mlx5_ib_multiport_info *mpi) {
@@ -5835,6 +5834,8 @@ static void mlx5_ib_unbind_slave_port(struct mlx5_ib_dev *ibdev,int err;int i; +lockdep_assert_held (&mlx5_ib_multiport_mutex); +mlx5_ib_cleanup_cong_debugfs (ibdev, port_num);spin_lock (&port->mp.mpi_lock);
@@ -5884,13 +5885,14 @@ static void mlx5_ib_unbind_slave_port(struct mlx5_ib_dev *ibdev, ibdev->port[port_num].roce.last_port_state =IB_PORT_DOWN ; } -/* The mlx5_ib_multiport_mutex should be held when calling this function */ static bool mlx5_ib_bind_slave_port (struct mlx5_ib_dev *ibdev,struct mlx5_ib_multiport_info *mpi) {u8 port_num =mlx5_core_native_port_num (mpi->mdev) -1 ;int err; +lockdep_assert_held (&mlx5_ib_multiport_mutex); +spin_lock (&ibdev->port[port_num].mp.mpi_lock);if (ibdev->port[port_num].mp.mpi) { mlx5_ib_dbg(ibdev, "port %d already affiliated.\n",
--
2.20.1
Doug Ledford
AppliedQuoted 8 lines · Leon Romanovsky
From: Leon Romanovsky <[email protected]>
NULL-ing
notifier_callis performed under protection ofmlx5_ib_multiport_mutexlock. Such protection is not easily spotted and better to be guarded by lockdep annotation.Signed-off-by Leon Romanovsky <[email protected]>
Thanks, applied to for-next.
Signature · 3 lines
Doug Ledford <[email protected]> GPG KeyID: B826A3330E572FDD Fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD