linux/drivers/infiniband/sw/rxe
Jason Gunthorpe ca22354b14 RDMA/rxe: Close a race after ib_register_device
Since rxe allows unregistration from other threads the rxe pointer can
become invalid any moment after ib_register_driver returns. This could
cause a user triggered use after free.

Add another driver callback to be called right after the device becomes
registered to complete any device setup required post-registration.  This
callback has enough core locking to prevent the device from becoming
unregistered.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-02-19 20:52:18 -07:00
..
Kconfig IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS 2018-05-15 10:48:16 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rxe_av.c RDMA/rxe: Improve loopback marking 2019-02-04 15:57:49 -07:00
rxe_comp.c IB/rxe: Remove unnecessary rxe variable 2019-01-21 16:46:08 -07:00
rxe_cq.c IB/rxe: replace kvfree with vfree 2018-09-30 19:20:38 -06:00
rxe_hdr.h IB/rxe: Enable type checking on SKB_TO_PKT() and PKT_TO_SKB() arguments 2017-01-10 16:52:47 -05:00
rxe_hw_counters.c IB/rxe: Make counters thread safe 2018-12-20 14:09:45 -07:00
rxe_hw_counters.h RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters 2018-11-08 14:22:54 -07:00
rxe_icrc.c IB/rxe: Offload CRC calculation when possible 2017-04-21 10:45:02 -04:00
rxe_loc.h RDMA/rxe: Use driver_unregister and new unregistration API 2019-02-19 20:52:18 -07:00
rxe_mcast.c IB/rxe: Remove a pointless indirection layer 2017-01-10 16:52:47 -05:00
rxe_mmap.c IB/rxe: Constify static rxe_vm_ops 2017-07-24 08:43:12 -04:00
rxe_mr.c RDMA/rxe: Use for_each_sg_page iterator on umem SGL 2019-02-11 15:24:55 -07:00
rxe_net.c RDMA/rxe: Close a race after ib_register_device 2019-02-19 20:52:18 -07:00
rxe_net.h RDMA/rxe: Close a race after ib_register_device 2019-02-19 20:52:18 -07:00
rxe_opcode.c IB/rxe: add RXE_START_MASK for rxe_opcode IB_OPCODE_RC_SEND_ONLY_INV 2018-04-27 14:20:47 -04:00
rxe_opcode.h
rxe_param.h IB/rxe: Remove unnecessary enum values 2018-10-17 00:28:51 -06:00
rxe_pool.c RDMA/rxe: Use driver_unregister and new unregistration API 2019-02-19 20:52:18 -07:00
rxe_pool.h RDMA: Handle PD allocations by IB/core 2019-02-08 16:51:04 -07:00
rxe_qp.c IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs 2019-02-15 15:38:38 -07:00
rxe_queue.c RDMA/rxe: Use structs to describe the uABI instead of opencoding 2018-03-15 15:58:02 -06:00
rxe_queue.h RDMA/rxe: Use structs to describe the uABI instead of opencoding 2018-03-15 15:58:02 -06:00
rxe_recv.c IB/rxe: Remove unnecessary rxe variable 2019-01-21 16:46:08 -07:00
rxe_req.c rxe: IB_WR_REG_MR does not capture MR's iova field 2018-11-29 17:10:06 -07:00
rxe_resp.c IB/rxe: Remove unnecessary rxe variable 2019-01-21 16:46:08 -07:00
rxe_srq.c IB/rxe: avoid srq memory leak 2018-10-03 16:03:36 -06:00
rxe_sysfs.c RDMA/rxe: Close a race after ib_register_device 2019-02-19 20:52:18 -07:00
rxe_task.c RDMA/rxe: Suppress gcc 7 fall-through complaints 2017-10-14 20:47:07 -04:00
rxe_task.h IB/rxe: Wait for tasklets to finish before tearing down QP 2016-12-12 16:31:45 -05:00
rxe_verbs.c RDMA/rxe: Close a race after ib_register_device 2019-02-19 20:52:18 -07:00
rxe_verbs.h RDMA/rxe: Add ib_device_get_by_name() and use it in rxe 2019-02-19 20:52:18 -07:00
rxe.c RDMA/rxe: Add ib_device_get_by_name() and use it in rxe 2019-02-19 20:52:18 -07:00
rxe.h RDMA/rxe: Add ib_device_get_by_name() and use it in rxe 2019-02-19 20:52:18 -07:00