Received: by 10.223.176.5 with SMTP id f5csp3125963wra; Mon, 29 Jan 2018 09:09:16 -0800 (PST) X-Google-Smtp-Source: AH8x225z/z/O958kqEYyFnl7JWsdYJDqdN4IbpaW/5XwQyy+WxechMX0SgY1/7x1Dqjz6c0jY9YH X-Received: by 2002:a17:902:67c5:: with SMTP id g5-v6mr18703795pln.106.1517245756562; Mon, 29 Jan 2018 09:09:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517245756; cv=none; d=google.com; s=arc-20160816; b=L/lAqI3FNZOifDZUaOMLBtdCf9e8w3FcNrVchLgKFr1kIm5/FMYJw7QgbhGGjpIyCg 3Qm18/xCzHqmtIUzlY8sJ1Xi49HWQPwMf7P9bvblCOiP83O/Qd8Ae+zEiy8qki7bCXFz ebuOlBYSPIVf9R+jYHLf5MXoxFzS0sf+GJZBvJ9gSTqtdQxBLadlDgGPCqKIQskNfBso NwGTs2MZqOk+lbXxwXAML01ns9UFmEGWo2Flc+rKVL2VEYtu/EDPpI8xQUyQIv1C/EDl UG946PljlYP2MKyTWNIV8ZwkqQojU2AchUBdUa1ixhX0IfBlm8sZA8Zx2JEUFd6R7VGU FzbA== 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=kZmSVRW4O4QgtJfiGz6yFfJ+ZxR0pzorMiPgsYwMVRE=; b=p7SZ0wVXP/vXlS/DuxWYQh0cJ3bLpBDdtHJhCNyI2NlsH35Nn3aI05U4FbUBQ/dC+p kmH84FX26JBjDcaLIU2yKOfIgENLu7SH/SL8rCh2A+B+wbUzDOntmB8lKJ3W6wj5YRt2 8x4FSsTF4o9fqU0Breu9GO2x1LUM3kbu0OLPXo/0gUkByK+PzpbitXefYwZA/L3C9Sp2 NZkwIoK0/LdQugj0xs/jlh+7kQb6AYIUOd5LPHmXcfW/quYGR7mLp5dBsy5+bt/vcut6 Kx5sJhFl2JVwLXn5U8DyZecqqoNmIOcOrfuvl7tUYA44sPdIdTeUpFcQmvgKrYf4ZPDj Xhnw== 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 b184si296247pfg.179.2018.01.29.09.09.01; Mon, 29 Jan 2018 09:09:16 -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 S1751855AbeA2RIE (ORCPT + 99 others); Mon, 29 Jan 2018 12:08:04 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:56680 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751338AbeA2RIB (ORCPT ); Mon, 29 Jan 2018 12:08:01 -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 BF86A2F9D; Mon, 29 Jan 2018 13:06:08 +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.9 46/66] vmxnet3: repair memory leak Date: Mon, 29 Jan 2018 13:57:10 +0100 Message-Id: <20180129123842.318930328@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180129123839.842860149@linuxfoundation.org> References: <20180129123839.842860149@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.9-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; } }