Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp806889pxb; Thu, 15 Apr 2021 07:06:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2lPcm2ZmIcD2juq6oZpshC2/efxbQ09BkXg96eRrtAWBCeUKioZHRQnDI9MrDqLYyZbzw X-Received: by 2002:a17:906:e84:: with SMTP id p4mr3614404ejf.248.1618495602522; Thu, 15 Apr 2021 07:06:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618495602; cv=none; d=google.com; s=arc-20160816; b=uZ48zOMRhhS5wISWWuiRubJ8KdwuqVIwHNl37trNGjpSSQs+1I00bOn+6pgOY/EauV Z5O05l6tVgZk9f+CvUX719LeZ1oR1uFDt8DfcEqKqcXAbhz+H65ORsNWqUCeYHYgzR5K qoOOEMoavabGqnaPyyrAf9DW47MdAOc13b1w4vDVbAeig6nGSNDs4jurO37vC02/Q7Sh DHtXKjqwFhGK8SsoUp6/t4hOXX+Age9O9DAOo5GvpPDWx7rgln+dq5PbJkfeIbR8Z+2d 0RDBltFY6WWjWUM8gJRgaLKwfSbrE61H5WaEQRnIBeFe+ycfIWB2tG6zCW7t2EEWU+QD 5ysQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:message-id:date:to:from:subject; bh=7/0k9EeUaB0HocHI+bH8bB9bpCQdbjtvh3vj3IzakQc=; b=KF8jnpjLCuaJtLAABcUmKV9T2uzM80LxT+cYKBHyD/AQUdrxoiuByOq43gmHSQvfCZ DGt19PeWJREw8Jb4uwtfFa7Zcm+EoDpmWjR/SY0Yf5dAGRcIaJimkTXTId+58wTE1wim tZxlkNlwQ0YsiqdFy4oarUWKiSUQuJkKUjAP1i1MntF1FD26EB6bmekY+QSouVibuzEf /46MBN4TgrJcx31GX5Zp5XTjLCzEBTTd4pyv29nsISCAQgjDmlCsxTFaMAzjRYpmXGAJ d0vYRrMruiv87efmnpzcVNauVKKwy2clVG1DVcvMjSNM7Ctg7xtZ0+rGBfABk6/PYL/7 8QMQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w24si2314690ejb.394.2021.04.15.07.06.18; Thu, 15 Apr 2021 07:06:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233134AbhDOOFw (ORCPT + 99 others); Thu, 15 Apr 2021 10:05:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:56036 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233099AbhDOOFw (ORCPT ); Thu, 15 Apr 2021 10:05:52 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id F3245611F1; Thu, 15 Apr 2021 14:05:28 +0000 (UTC) Subject: [PATCH v1 1/3] svcrdma: Don't leak send_ctxt on Send errors From: Chuck Lever To: linux-nfs@vger.kernel.org, linux-rdma@vger.kernel.org Date: Thu, 15 Apr 2021 10:05:28 -0400 Message-ID: <161849552807.27023.3060894326479643195.stgit@klimt.1015granger.net> User-Agent: StGit/1.0-5-g755c MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Address a rare send_ctxt leak in the svc_rdma_sendto() error paths. Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c index 056452cabc98..39aec629aaeb 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c @@ -936,7 +936,7 @@ int svc_rdma_sendto(struct svc_rqst *rqstp) p = xdr_reserve_space(&sctxt->sc_stream, rpcrdma_fixed_maxsz * sizeof(*p)); if (!p) - goto err0; + goto err1; ret = svc_rdma_send_reply_chunk(rdma, rctxt, &rqstp->rq_res); if (ret < 0) @@ -948,11 +948,11 @@ int svc_rdma_sendto(struct svc_rqst *rqstp) *p = pcl_is_empty(&rctxt->rc_reply_pcl) ? rdma_msg : rdma_nomsg; if (svc_rdma_encode_read_list(sctxt) < 0) - goto err0; + goto err1; if (svc_rdma_encode_write_list(rctxt, sctxt) < 0) - goto err0; + goto err1; if (svc_rdma_encode_reply_chunk(rctxt, sctxt, ret) < 0) - goto err0; + goto err1; ret = svc_rdma_send_reply_msg(rdma, sctxt, rctxt, rqstp); if (ret < 0)