Pārlūkot izejas kodu

svcrdma: Free context on post_recv error in send_reply

If an error is encountered trying to post a recv buffer in send_reply,
free the passed in context. Return an error to the caller so it is
aware that the request was not posted.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Tom Tucker 17 gadi atpakaļ
vecāks
revīzija
5ac461a6f0
1 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 2 1
      net/sunrpc/xprtrdma/svc_rdma_sendto.c

+ 2 - 1
net/sunrpc/xprtrdma/svc_rdma_sendto.c

@@ -396,7 +396,8 @@ static int send_reply(struct svcxprt_rdma *rdma,
 		       "svcrdma: could not post a receive buffer, err=%d."
 		       "Closing transport %p.\n", ret, rdma);
 		set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags);
-		return 0;
+		svc_rdma_put_context(ctxt, 0);
+		return -ENOTCONN;
 	}
 
 	/* Prepare the context */