Blob Blame History Raw
From: Chuck Lever <chuck.lever@oracle.com>
Date: Mon, 2 Mar 2020 15:00:14 -0500
Subject: [PATCH] svcrdma: Fix double svc_rdma_send_ctxt_put() in an error path
Git-commit: 758a3bf9459d9daa19eac604f3dece77e0bf2441
Patch-mainline: v5.7-rc1
References: git-fixes

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: NeilBrown <neilb@suse.com>

---
 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
@@ -786,7 +786,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);
@@ -798,13 +797,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);
 }
 
 /**