Received: by 10.223.176.5 with SMTP id f5csp3387951wra; Mon, 29 Jan 2018 12:27:59 -0800 (PST) X-Google-Smtp-Source: AH8x22656ImC0gny94In8eGcDOHyjsBNV+B9tXXeRtxMej9BGiCzymrshCH4BKxrTdw+rBEv19Wp X-Received: by 10.99.120.8 with SMTP id t8mr13567999pgc.371.1517257679138; Mon, 29 Jan 2018 12:27:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517257679; cv=none; d=google.com; s=arc-20160816; b=TrXzvcl+wENknBxXjVJCVBgRbEiPS5ze2Rgr28DMeXXConPUux7OmyrGUf5FMciySq CAluOrRHThIY8/xCb6hAJSGPPVNn57aMtc9asbicthexBBODY8mFAnYd2cz9IY24JI7r 4BG2gajWGYNqIQqLjngJ3Znna9sGTYaqyBQmSbn+JIzCLFo/gVZtYKmixhguGn6AZBoX IuQeVf+gK4isrY7gjY70pdGeIo7pOQvKjB1cdDYXR7T5qdR0L9kM2AeKBAtnyLVAbTL6 TRvnWzbNI5MVDZdwRgYC29WYmo5rREbHx/W8PRwuIvQWggxYPzET4vy9yGxE0gXLfjVk YIpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=BzMbJ3U8uNSVYp62mdzgBOtKXf7kV/GEHS69hNx18yk=; b=RUmAM8tA/ncRirC4SOQle4p1tDee8FKGUcVY+7/f/e5+qEdF5C6SfreJ/innwdxWdU yDKcap33+QJJOnaDO/34tOhhSiOdFxNPi9CxEW4DCuL/T4f6mPIJP5ENqxnh3RVV6HLy UVsMXSlx5GGJjM855bocJU7dTvT/sVQX0kvolqW9VoaAxpAct9RQKxkA189ksnhtdFXb yVaQ/jOrh7Gzsi1SaccZBC5+NXKUqvU5zwKhWxEzLQyqs7oR5eFrkpEu1vtR7+rsqQXx dKhOgyhpS9++nbwAe0VuDf92fIq1FRFtiHGQhHlENRWsb947gnKnoFUsOK2odZXNFAvg HqWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h23si2025302pfh.80.2018.01.29.12.27.44; Mon, 29 Jan 2018 12:27:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754797AbeA2U0u (ORCPT + 99 others); Mon, 29 Jan 2018 15:26:50 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:44500 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754548AbeA2UQ1 (ORCPT ); Mon, 29 Jan 2018 15:16:27 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 3158B2ED2; Mon, 29 Jan 2018 13:00:24 +0000 (UTC) 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 3.18 49/52] vmxnet3: repair memory leak Date: Mon, 29 Jan 2018 13:57:07 +0100 Message-Id: <20180129123630.319409885@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180129123628.168904217@linuxfoundation.org> References: <20180129123628.168904217@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.18-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 @@ -1420,7 +1420,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) { @@ -1435,6 +1434,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; } }