From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224mwTtViTjXnqQ7dRZIbg2SpORwDnOs3GS9sY+gGwTR/GEHgI2ZzrbbZmgq0aJS0kZYKbyn ARC-Seal: i=1; a=rsa-sha256; t=1517256640; cv=none; d=google.com; s=arc-20160816; b=j0NMiyb/YMm+wBE4iuKn24IfxOJryZARjPinTmMVaZBzsbVesIOEM80FoYvNZuo4CV bxPfyokldAT2UsX7REBDARC2b/h+rTmqOHdgVkjh1V7c3dhDWai100lP+eJC1oJRV+kC k6mxht3Hm3ng6PBGQKFMq74yiObBw9Bhbxd+wJbGVQhxTlyydUSoDv35Rs4czrFBXXUt avHsCSypU9llabV3WxIcBqf/cI+fj4akWJLCcYHdTF1S1Cq1bTTi5Be9kPG7WjzSwc9q Hd1TkEvHbIJqwDEi+UEeB00GjwKPY90jd7/u7KHuWgqIY5cmobzRRjebUUtCp8wLmTDS OKGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=wfr9Mriye9DjZ68d+7VdnpPn52GcZqp+4Pa7ZgzZSkk=; b=pYF1+8gXKlp0CVCexEPgt427f32oPiE4LS66p+54auPUSULWQVEVhw4iFTm0ZtPq7b 8CK8j3eFQ6lhDX7YtGL+ZDzqVFmO5LSgrCbwmFm852p6bg1AHXRqeqcJxfv7zKKjTxfX 8F23ozcvRMGs3kYhjV42RA/P7g6m8+yDLHaXb5nUIzfsZAmStfFRh9KbUGWYGgWLsKMO n1Uvg9GrPWVYVjfPMmtzy3jxgZw6ifK5JOvS6ruEfko3fo9hjDpMZVYDhIOF1AI4+REh FHoXybMysTFjNOOUeu2sNR5ZDyzLmstTzjKzOhgfiLg/sw/jW+89pPQ60A2ZyutLg0fu SyZA== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Neil Horman , boyang@redhat.com, Shrikrishna Khare , "VMware, Inc." , "David S. Miller" Subject: [PATCH 4.4 70/74] vmxnet3: repair memory leak Date: Mon, 29 Jan 2018 13:57:15 +0100 Message-Id: <20180129123850.691793258@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180129123847.507563674@linuxfoundation.org> References: <20180129123847.507563674@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-LABELS: =?utf-8?b?IlxcU2VudCI=?= X-GMAIL-THRID: =?utf-8?q?1590947331498149180?= X-GMAIL-MSGID: =?utf-8?q?1590958899351542206?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Neil Horman [ Upstream commit 848b159835ddef99cc4193083f7e786c3992f580 ] with the introduction of commit b0eb57cb97e7837ebb746404c2c58c6f536f23fa, it appears that rq->buf_info is improperly handled. While it is heap allocated when an rx queue is setup, and freed when torn down, an old line of code in vmxnet3_rq_destroy was not properly removed, leading to rq->buf_info[0] being set to NULL prior to its being freed, causing a memory leak, which eventually exhausts the system on repeated create/destroy operations (for example, when the mtu of a vmxnet3 interface is changed frequently. Fix is pretty straight forward, just move the NULL set to after the free. Tested by myself with successful results Applies to net, and should likely be queued for stable, please Signed-off-by: Neil Horman Reported-By: boyang@redhat.com CC: boyang@redhat.com CC: Shrikrishna Khare CC: "VMware, Inc." CC: David S. Miller Acked-by: Shrikrishna Khare Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/vmxnet3/vmxnet3_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -1563,7 +1563,6 @@ static void vmxnet3_rq_destroy(struct vm rq->rx_ring[i].basePA); rq->rx_ring[i].base = NULL; } - rq->buf_info[i] = NULL; } if (rq->comp_ring.base) { @@ -1578,6 +1577,7 @@ static void vmxnet3_rq_destroy(struct vm (rq->rx_ring[0].size + rq->rx_ring[1].size); dma_free_coherent(&adapter->pdev->dev, sz, rq->buf_info[0], rq->buf_info_pa); + rq->buf_info[0] = rq->buf_info[1] = NULL; } }