linux/drivers/infiniband/hw
Mustafa Ismail cc0315564d RDMA/irdma: Fix sleep from invalid context BUG
Taking the qos_mutex to process RoCEv2 QP's on netdev events causes a
kernel splat.

Fix this by removing the handling for RoCEv2 in
irdma_cm_teardown_connections that uses the mutex. This handling is only
needed for iWARP to avoid having connections established while the link is
down or having connections remain functional after the IP address is
removed.

  BUG: sleeping function called from invalid context at kernel/locking/mutex.
  Call Trace:
  kernel: dump_stack+0x66/0x90
  kernel: ___might_sleep.cold.92+0x8d/0x9a
  kernel: mutex_lock+0x1c/0x40
  kernel: irdma_cm_teardown_connections+0x28e/0x4d0 [irdma]
  kernel: ? check_preempt_curr+0x7a/0x90
  kernel: ? select_idle_sibling+0x22/0x3c0
  kernel: ? select_task_rq_fair+0x94c/0xc90
  kernel: ? irdma_exec_cqp_cmd+0xc27/0x17c0 [irdma]
  kernel: ? __wake_up_common+0x7a/0x190
  kernel: irdma_if_notify+0x3cc/0x450 [irdma]
  kernel: ? sched_clock_cpu+0xc/0xb0
  kernel: irdma_inet6addr_event+0xc6/0x150 [irdma]

Fixes: 146b9756f1 ("RDMA/irdma: Add connection manager")
Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2022-07-11 03:04:16 -03:00
..
bnxt_re RDMA: Split kernel-only global device caps from uverbs device caps 2022-04-06 15:02:13 -03:00
cxgb4 RDMA: Split kernel-only global device caps from uverbs device caps 2022-04-06 15:02:13 -03:00
efa RDMA/efa: Add support for dmabuf memory regions 2021-10-28 08:58:26 -03:00
hfi1 RDMA/hfi1: Remove all traces of diagpkt support 2022-05-24 15:08:32 -03:00
hns RDMA/hns: Use hr_reg_read() instead of remaining roce_get_xxx() 2022-05-12 14:16:28 -03:00
irdma RDMA/irdma: Fix sleep from invalid context BUG 2022-07-11 03:04:16 -03:00
mlx4 RDMA/mlx4: Avoid flush_scheduled_work() usage 2022-05-20 11:21:00 -03:00
mlx5 v5.19 pull request 2022-05-26 21:08:40 -07:00
mthca RDMA/mthca: Delete useless module.h include 2022-01-28 13:03:12 -04:00
ocrdma RDMA: Split kernel-only global device caps from uverbs device caps 2022-04-06 15:02:13 -03:00
qedr RDMA/qedr: Fix reporting QP timeout attribute 2022-06-07 11:46:56 +03:00
qib IB/qib: Fix typo in comment 2022-05-24 11:24:57 -03:00
usnic RDMA/usnic: Refactor usnic_uiom_alloc_pd() 2022-04-08 14:20:20 -03:00
vmw_pvrdma RDMA/pvrdma: Remove useless DMA-32 fallback configuration 2022-01-28 10:49:04 -04:00
Makefile