Received: by 10.223.176.5 with SMTP id f5csp3430048wra; Mon, 29 Jan 2018 13:04:09 -0800 (PST) X-Google-Smtp-Source: AH8x227yyrijGsJc5t1jX8+Hd1GLwcesXFb+CIXsYD2BvYPwaJ52j3Z8yZASz8GJcGvdyUjc8sPT X-Received: by 2002:a17:902:9346:: with SMTP id g6-v6mr23342383plp.379.1517259849594; Mon, 29 Jan 2018 13:04:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517259849; cv=none; d=google.com; s=arc-20160816; b=a7BEa5xNTHSeKiyeE1UL+JEfPc8JA0sPgzFzH5gvL01TkTTRTIKa+HjHd5M8ra4tsQ H/uK5jxb32dkIfJpnfA/WsYPqoFXSmKWPWhzPhVx1p21QB4zsO7gZpmiH+habavBgKU2 0gVNClX/1u/EfckVHPHRMv4YDRWvtJMSIIBfVaZe50g88vyBLeWLnrCsngl4vEsEFBVg htUONZssHwduJVPINJmbNsrrFS2VSr9qZ6EsnlFetTV0+CUHL9RbydiFSpsEC6jGYCB+ R+RGRAgYp1FgCaoBZV8PpnUuTv1ZwRUOTEOd9IoYSLsm+GutUdgx7DskBSe1fdJaEgsq CGUg== 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=ahGzKcAhJL9giABNduV/QnjV53yBJVmq/ofBtn7qut0=; b=aKsIgAvs9fqbJRHWFdu9yiXjuvCO70sP25slUAn3jbdAgQpQg7ZEnIwjgnLKOPRCUx H3nN9mfnZEk1eJJ2P9cOOoBovgfMfTdj0b+C49bSnSr1nQSQS+kt9lwaZGGfqFUzhmPd 0EUpXeegbM/ZM3eNU4kvnDKxOGReicmTXpHnneNxj57Jbdt8eh4ETPfk2hsJDN9XLj2W YVrZPQbFHjakQIIwOa7X88W1Ttnan2j/oTbrrUivXVMsd26QcLl1RBcm6pwtDIt53QqS nX/AhK3CJSsi9GAFJDnyQXzue41ZrP627COvwGs/koiHzbStNF9c5P5tnDz3AV5DRzVM v2BA== 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 h1-v6si9906607plh.766.2018.01.29.13.03.55; Mon, 29 Jan 2018 13:04:09 -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 S1751539AbeA2VCo (ORCPT + 99 others); Mon, 29 Jan 2018 16:02:44 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:52146 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752438AbeA2UIJ (ORCPT ); Mon, 29 Jan 2018 15:08:09 -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 6C3523029; Mon, 29 Jan 2018 13:10:19 +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 4.14 59/71] vmxnet3: repair memory leak Date: Mon, 29 Jan 2018 13:57:27 +0100 Message-Id: <20180129123831.556452969@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180129123827.271171825@linuxfoundation.org> References: <20180129123827.271171825@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 4.14-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 @@ -1616,7 +1616,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->data_ring.base) { @@ -1638,6 +1637,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; } }