linux/drivers/infiniband/hw/vmw_pvrdma
Bryan Tan e3524b269e RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy
The use of wait queues in vmw_pvrdma for handling concurrent
access to a resource leaves a race condition which can cause a use
after free bug.

Fix this by using the pattern from other drivers, complete() protected by
dec_and_test to ensure complete() is called only once.

Fixes: 29c8d9eba5 ("IB: Add vmw_pvrdma driver")
Signed-off-by: Bryan Tan <bryantan@vmware.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2017-12-21 16:06:07 -07:00
..
Kconfig IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
Makefile RDMA/vmw_pvrdma: Add shared receive queue support 2017-11-13 16:18:33 -05:00
pvrdma.h RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy 2017-12-21 16:06:07 -07:00
pvrdma_cmd.c IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
pvrdma_cq.c RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy 2017-12-21 16:06:07 -07:00
pvrdma_dev_api.h RDMA/vmw_pvrdma: Add shared receive queue support 2017-11-13 16:18:33 -05:00
pvrdma_doorbell.c IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
pvrdma_main.c RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy 2017-12-21 16:06:07 -07:00
pvrdma_misc.c RDMA/vmw_pvrdma: Add RoCEv2 support 2017-08-24 17:34:57 -04:00
pvrdma_mr.c IB: Add vmw_pvrdma driver 2016-12-14 14:55:10 -05:00
pvrdma_qp.c RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy 2017-12-21 16:06:07 -07:00
pvrdma_ring.h IB/pvrdma: Remove unused function 2017-08-22 15:42:57 -04:00
pvrdma_srq.c RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy 2017-12-21 16:06:07 -07:00
pvrdma_verbs.c RDMA/vmw_pvrdma: Add shared receive queue support 2017-11-13 16:18:33 -05:00
pvrdma_verbs.h RDMA/vmw_pvrdma: Add shared receive queue support 2017-11-13 16:18:33 -05:00