linux/drivers/infiniband/sw/rxe
Daisuke Matsuda 1aefe5c177 RDMA/rxe: Prevent faulty rkey generation
If you create MRs more than 0x10000 times after loading the module,
responder starts to reply NAKs for RDMA/Atomic operations because of rkey
violation detected in check_rkey(). The root cause is that rkeys are
incremented each time a new MR is created and the value overflows into the
range reserved for MWs.

This commit also increases the value of RXE_MAX_MW that has been limited
unlike other parameters.

Fixes: 0994a1bcd5 ("RDMA/rxe: Bump up default maximum values used via uverbs")
Link: https://lore.kernel.org/r/20221220080848.253785-2-matsuda-daisuke@fujitsu.com
Signed-off-by: Daisuke Matsuda <matsuda-daisuke@fujitsu.com>
Tested-by: Li Zhijian <lizhijian@fujitsu.com>
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2023-01-09 10:48:16 -04: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: Replace pr_xxx by rxe_dbg_xxx in rxe_av.c 2022-11-10 15:33:05 -04:00
rxe_comp.c RDMA/rxe: Implement flush completion 2022-12-09 19:36:02 -04:00
rxe_cq.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_cq.c 2022-11-10 15:33:03 -04:00
rxe_hdr.h RDMA/rxe: Extend rxe packet format to support flush 2022-12-09 19:36:02 -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: Replace pr_xxx by rxe_dbg_xxx in rxe_icrc.c 2022-11-10 15:33:06 -04:00
rxe_loc.h RDMA/rxe: Implement flush execution in responder side 2022-12-09 19:36:02 -04: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: Replace pr_xxx by rxe_dbg_xxx in rxe_mmap.c 2022-11-10 15:33:07 -04:00
rxe_mr.c RDMA/rxe: Implement flush execution in responder side 2022-12-09 19:36:02 -04:00
rxe_mw.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mw.c 2022-11-10 15:33:03 -04:00
rxe_net.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_net.c 2022-11-10 15:33:04 -04: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: Extend rxe packet format to support flush 2022-12-09 19:36:02 -04:00
rxe_opcode.h RDMA/rxe: Extend rxe packet format to support flush 2022-12-09 19:36:02 -04:00
rxe_param.h RDMA/rxe: Prevent faulty rkey generation 2023-01-09 10:48:16 -04:00
rxe_pool.c RDMA/rxe: Fix inaccurate constants in rxe_type_info 2023-01-09 10:48:16 -04: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: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed 2022-11-22 15:55:54 -04: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: Implement RC RDMA FLUSH service in requester side 2022-12-09 19:36:02 -04:00
rxe_resp.c RDMA/rxe: Fix compile warnings on 32-bit 2022-12-15 11:32:06 -04:00
rxe_srq.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_srq.c 2022-11-10 15:33:05 -04:00
rxe_task.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_task.c 2022-11-10 15:33:06 -04:00
rxe_task.h RDMA/rxe: Rename task->state_lock to task->lock 2022-10-28 13:47:16 -03:00
rxe_verbs.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_av.c 2022-11-10 15:33:05 -04:00
rxe_verbs.h RDMA/rxe: Implement flush execution in responder side 2022-12-09 19:36:02 -04:00
rxe.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe.c 2022-11-10 15:33:06 -04:00
rxe.h RDMA/rxe: Add ibdev_dbg macros for rxe 2022-11-10 15:33:02 -04:00