linux_dsm_epyc7002/net/sunrpc/xprtrdma
Chuck Lever 7b906077fd SUNRPC: Move fault injection call sites
[ Upstream commit 7638e0bfaed1b653d3ca663e560e9ffb44bb1030 ]

I've hit some crashes that occur in the xprt_rdma_inject_disconnect
path. It appears that, for some provides, rdma_disconnect() can
take so long that the transport can disconnect and release its
hardware resources while rdma_disconnect() is still running,
resulting in a UAF in the provider.

The transport's fault injection method may depend on the stability
of transport data structures. That means it needs to be invoked
only from contexts that hold the transport write lock.

Fixes: 4a06825839 ("SUNRPC: Transport fault injection")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-19 10:13:03 +02:00
..
backchannel.c xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt 2020-03-27 10:47:25 -04:00
frwr_ops.c xprtrdma: drop double zeroing 2020-09-21 12:15:25 -04:00
Makefile xprtrdma: Remove support for FMR memory registration 2019-01-02 12:05:17 -05:00
module.c SUNRPC: xprt_load_transport() needs to support the netid "rdma6" 2020-12-30 11:53:30 +01:00
rpc_rdma.c xprtrdma: Fix XDRBUF_SPARSE_PAGES support 2020-12-30 11:54:15 +01:00
svc_rdma_backchannel.c svcrdma: disable timeouts on rdma backchannel 2021-03-25 09:04:08 +01:00
svc_rdma_recvfrom.c svcrdma: Remove transport reference counting 2020-07-28 10:18:14 -04:00
svc_rdma_rw.c net: sunrpc: delete repeated words 2020-09-25 18:01:26 -04:00
svc_rdma_sendto.c svcrdma: fix bounce buffers for unaligned offsets and multiple pages 2020-10-16 15:15:04 -04:00
svc_rdma_transport.c svcrdma: Hold private mutex while invoking rdma_accept() 2021-03-04 11:38:08 +01:00
svc_rdma.c sysctl: pass kernel pointers to ->proc_handler 2020-04-27 02:07:40 -04:00
transport.c SUNRPC: Move fault injection call sites 2021-05-19 10:13:03 +02:00
verbs.c NFS client bugfixes for Linux 5.9 2020-09-09 11:14:20 -07:00
xprt_rdma.h xprtrdma: Clean up disconnect 2020-06-22 09:34:35 -04:00