From: Chuck Lever <chuck.lever@oracle.com>
Date: Mon, 2 Mar 2020 15:00:14 -0500
Subject: svcrdma: Fix double svc_rdma_send_ctxt_put() in an error path
Patch-mainline: v5.7-rc1
Git-commit: 758a3bf9459d9daa19eac604f3dece77e0bf2441
References: bsc#1103992 FATE#326009
This error path is almost never executed. Found by code inspection.
Fixes: 99722fe4d5a6 ("svcrdma: Persistently allocate and DMA-map Send buffers")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
net/sunrpc/xprtrdma/svc_rdma_sendto.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
--- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
@@ -813,7 +813,6 @@ static int svc_rdma_send_error_msg(struc
struct svc_rqst *rqstp)
{
__be32 *p;
- int ret;
p = ctxt->sc_xprt_buf;
trace_svcrdma_err_chunk(*p);
@@ -825,13 +824,7 @@ static int svc_rdma_send_error_msg(struc
svc_rdma_save_io_pages(rqstp, ctxt);
ctxt->sc_send_wr.opcode = IB_WR_SEND;
- ret = svc_rdma_send(rdma, &ctxt->sc_send_wr);
- if (ret) {
- svc_rdma_send_ctxt_put(rdma, ctxt);
- return ret;
- }
-
- return 0;
+ return svc_rdma_send(rdma, &ctxt->sc_send_wr);
}
void svc_rdma_prep_reply_hdr(struct svc_rqst *rqstp)