Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp330572ybi; Fri, 7 Jun 2019 08:44:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqzobq9kq1K57LX6g6wkk4dvO4IlV6Zekbb/9Z9Ru40eYEYM6HNGWbg4BuAlIovH1bkRKm2C X-Received: by 2002:a17:902:6b07:: with SMTP id o7mr35280710plk.180.1559922293135; Fri, 07 Jun 2019 08:44:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559922293; cv=none; d=google.com; s=arc-20160816; b=o5O5Gm0KrRV0PUG2xK3m5Qq9rTR319PsfyWKflx1mM2my286dYgfv51JBOU64SoGW0 sbBYeF4YpuijTvw7Oy2u1CJGjxn+e3raL/vaaRNaxnBHZ1QQOGOYC1JeppGB2gBn64fB vEJMFW8/vVWgAhb7PXSuN/7aNv5bzXLvIkQd30gRGpe/tB+gFi+33yufGNpasmGR/Avm schJxDkT9/QenaWHd+bThYaclhgBTc0zSUSh60P9BQEEqw1PpskGkqpdqW6Fv4pzKQFd 5Lb1TtQS0h4mrNyXDnkgU74j1Z9Qkbf9nxS1Za6FFabHNxBdMwzw2zOhRT/MXGsO0UtH IThQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=lQI9fghJuTe0IJ7Dt/aNW2F4vVbGmxRdD+ijpFJy+KI=; b=T+gIYxOpuWP1rRLBD696eINmOC7tHFQY+vOV1h7ZlXYl9DEw7PiwpfyITBi2fK9H9q oah72H7DD3HT1JcrpJ0vObvgaVzcc9Hn+QTdRO2idwfmm5kUCAN8+vM8X/M//jfwpxu8 ZtN1/Hoe6ffmQkKW7AHRHFs7xwpEJ4Kqmk9yVhFZXaSk8emfymErdKKhVnh0lg+Y68++ UHEmi8U16TKbP+MH8CVTYXoO+6OxidRgqxPunP6PD7oftfE9meL6rECjapwQtWI6NNdQ 2/9wuc2c7tWr90QxkPn90kmwO22Ry3X8TU+E3FUB0jC2CYCgOjw6+H5Vu5KVyDzCcRWE O6Sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=GtUY4P4L; 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 l11si2011211pgp.438.2019.06.07.08.44.36; Fri, 07 Jun 2019 08:44:53 -0700 (PDT) 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; dkim=pass header.i=@kernel.org header.s=default header.b=GtUY4P4L; 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 S1730508AbfFGPmN (ORCPT + 99 others); Fri, 7 Jun 2019 11:42:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:52456 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730460AbfFGPmG (ORCPT ); Fri, 7 Jun 2019 11:42:06 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id DF23B212F5; Fri, 7 Jun 2019 15:42:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559922125; bh=mSxpHAbBZi99iHthPLILZIexWMs7cfnTd2C/eAmeqss=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GtUY4P4LuS/iMPeFLde7/AMqwzdvSBD+WVhdhf0lRbIe2X2d72QIfPMmzhoyPoli7 L+6kBGBbisdskPNSM/4Qs5jbDrob/r2/hQgkxuOTpTwKgEo1DOg/u9Sbhj09L1Skkj 5MGcppaejuKIbJnbu2NS52U6OW2vYYjGZXmwWbF8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Rakesh Hemnani , Michael Chan , "David S. Miller" Subject: [PATCH 4.14 10/69] bnxt_en: Fix aggregation buffer leak under OOM condition. Date: Fri, 7 Jun 2019 17:38:51 +0200 Message-Id: <20190607153849.556772096@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190607153848.271562617@linuxfoundation.org> References: <20190607153848.271562617@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michael Chan [ Upstream commit 296d5b54163964b7ae536b8b57dfbd21d4e868e1 ] For every RX packet, the driver replenishes all buffers used for that packet and puts them back into the RX ring and RX aggregation ring. In one code path where the RX packet has one RX buffer and one or more aggregation buffers, we missed recycling the aggregation buffer(s) if we are unable to allocate a new SKB buffer. This leads to the aggregation ring slowly running out of buffers over time. Fix it by properly recycling the aggregation buffers. Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Reported-by: Rakesh Hemnani Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -1583,6 +1583,8 @@ static int bnxt_rx_pkt(struct bnxt *bp, skb = bnxt_copy_skb(bnapi, data_ptr, len, dma_addr); bnxt_reuse_rx_data(rxr, cons, data); if (!skb) { + if (agg_bufs) + bnxt_reuse_rx_agg_bufs(bnapi, cp_cons, agg_bufs); rc = -ENOMEM; goto next_rx; }