linux/drivers/infiniband/sw/rxe
Li Zhijian b5f9a01fae RDMA/rxe: Fix mr leak in RESPST_ERR_RNR
rxe_recheck_mr() will increase mr's ref_cnt, so we should call rxe_put(mr)
to drop mr's ref_cnt in RESPST_ERR_RNR to avoid below warning:

  WARNING: CPU: 0 PID: 4156 at drivers/infiniband/sw/rxe/rxe_pool.c:259 __rxe_cleanup+0x1df/0x240 [rdma_rxe]
...
  Call Trace:
   rxe_dereg_mr+0x4c/0x60 [rdma_rxe]
   ib_dereg_mr_user+0xa8/0x200 [ib_core]
   ib_mr_pool_destroy+0x77/0xb0 [ib_core]
   nvme_rdma_destroy_queue_ib+0x89/0x240 [nvme_rdma]
   nvme_rdma_free_queue+0x40/0x50 [nvme_rdma]
   nvme_rdma_teardown_io_queues.part.0+0xc3/0x120 [nvme_rdma]
   nvme_rdma_error_recovery_work+0x4d/0xf0 [nvme_rdma]
   process_one_work+0x582/0xa40
   ? pwq_dec_nr_in_flight+0x100/0x100
   ? rwlock_bug.part.0+0x60/0x60
   worker_thread+0x2a9/0x700
   ? process_one_work+0xa40/0xa40
   kthread+0x168/0x1a0
   ? kthread_complete_and_exit+0x20/0x20
   ret_from_fork+0x22/0x30

Link: https://lore.kernel.org/r/20221024052049.20577-1-lizhijian@fujitsu.com
Fixes: 8a1a0be894 ("RDMA/rxe: Replace mr by rkey in responder resources")
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2022-10-25 08:59:29 +03:00
..
Kconfig RDMA/rxe: Fix missing kconfig dependency on CRYPTO 2021-03-01 14:46:31 -04:00
Makefile RDMA/rxe: Delete deprecated module parameters interface 2022-01-05 15:18:47 -04:00
rxe_av.c RDMA/rxe: Use standard names for ref counting 2022-03-16 10:34:42 -03:00
rxe_comp.c RDMA/rxe: Split qp state for requester and completer 2022-08-02 13:53:36 -03:00
rxe_cq.c RDMA/rxe: Convert pr_warn/err to pr_debug in pyverbs 2022-06-30 20:45:00 -03:00
rxe_hdr.h RDMA/rxe: Remove unused pkt->offset 2021-02-16 14:42:59 -04:00
rxe_hw_counters.c RDMA/counter: Add a descriptor in struct rdma_hw_stats 2021-10-12 12:48:04 -03:00
rxe_hw_counters.h RDMA: Split the alloc_hw_stats() ops to port and device variants 2021-06-16 20:58:29 -03:00
rxe_icrc.c RDMA/rxe: Remove error/warning messages from packet receiver path 2022-09-29 12:57:56 +03:00
rxe_loc.h RDMA/rxe: Set pd early in mr alloc routines 2022-09-27 10:15:24 -03:00
rxe_mcast.c RDMA/rxe: Fix an error handling path in rxe_get_mcg() 2022-05-24 12:55:12 -03:00
rxe_mmap.c RDMA/rxe: Delete useless module.h include 2022-01-28 13:03:13 -04:00
rxe_mr.c RDMA/rxe: Set pd early in mr alloc routines 2022-09-27 10:15:24 -03:00
rxe_mw.c RDMA/rxe: Use members of generic struct in rxe_mr 2022-09-22 12:46:39 +03:00
rxe_net.c RDMA/rxe: Remove error/warning messages from packet receiver path 2022-09-29 12:57:56 +03:00
rxe_net.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_opcode.c RDMA/rxe: Remove support for SMI QPs from rdma_rxe 2022-04-08 14:38:33 -03:00
rxe_opcode.h RDMA/rxe: Remove unused WR_READ_WRITE_OR_SEND_MASK 2021-09-28 11:42:24 -03:00
rxe_param.h RDMA/rxe: Limit the number of calls to each tasklet 2022-07-22 17:43:00 -03:00
rxe_pool.c RDMA/rxe: Convert read side locking to rcu 2022-06-30 10:56:05 -03:00
rxe_pool.h RDMA/rxe: Stop lookup of partially built objects 2022-06-30 10:56:01 -03:00
rxe_qp.c RDMA/rxe: convert pr_warn to pr_debug 2022-09-08 11:03:15 +03:00
rxe_queue.c RDMA/rxe: Fix resize_finish() in rxe_queue.c 2022-09-27 10:15:24 -03:00
rxe_queue.h RDMA/rxe: Replace include statement 2022-06-30 20:45:00 -03:00
rxe_recv.c RDMA/rxe: Remove error/warning messages from packet receiver path 2022-09-29 12:57:56 +03:00
rxe_req.c RDMA/rxe: Split qp state for requester and completer 2022-08-02 13:53:36 -03:00
rxe_resp.c RDMA/rxe: Fix mr leak in RESPST_ERR_RNR 2022-10-25 08:59:29 +03:00
rxe_srq.c RDMA/rxe: Add rxe_srq_cleanup() 2022-05-09 09:03:39 -03:00
rxe_task.c RDMA/rxe: Remove the unused variable obj 2022-08-31 09:53:13 +03:00
rxe_task.h RDMA/rxe: Remove the unused variable obj 2022-08-31 09:53:13 +03:00
rxe_verbs.c RDMA/rxe: Remove redundant num_sge fields 2022-09-27 10:15:24 -03:00
rxe_verbs.h RDMA/rxe: Use members of generic struct in rxe_mr 2022-09-22 12:46:39 +03:00
rxe.c RDMA: Split kernel-only global device caps from uverbs device caps 2022-04-06 15:02:13 -03:00
rxe.h RDMA/rxe: Delete useless module.h include 2022-01-28 13:03:13 -04:00