Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3908669ybi; Mon, 3 Jun 2019 02:19:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqz2dk2DqTZfWcFOf0gW8Fx0mOvSH+sEXqtjP+pXC0xEMshvRXYimublNJc0pXiV63S1apY2 X-Received: by 2002:a17:90a:ff03:: with SMTP id ce3mr28236771pjb.81.1559553574139; Mon, 03 Jun 2019 02:19:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559553574; cv=none; d=google.com; s=arc-20160816; b=f3vbP3FP5K0AhmdyrvmGlIz9+9NWYMnL2hJ4oTemhm1BJoNljfuWhajPhK2YQNopUb xz0WGQhj49prld/cP39A/CdMPvZFucPlGPnebwGJ6drT7BcdXVUfMjA/5YYlEuMxZDBo +36XhjKB39Rs0kB+e04zE8+NiPWn78lM0SFHNlhLMKoceon+EDYMMdjtZhTfAXwRLGZa vWZb90iJ08kyNiScRP+PHjH9OX+/MqpmIt8w4faiXc31ENY+eVM8uo0fT7hE5VXMvWyX YTwH2ZbyiXQesyg5OkCb6AszBUvnRW09odKiW7M1/6xzPqhSx11Gk7tSVae0dNRnMmcE DRVA== 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=GsqtSITUq/gcXqTGduDuTrqhf+I90B8uhx0lnt5210k=; b=syWLQb0Ooz8gDlGvvHZxaQsftZEd5PAclw7DQqOPsh3kzcL9tDIislPEkSbFRojXT3 j5LgH3hnfpzVf+SjVOVXI6B6ElkCX2AjsuAlpsjA72PoDXio8d5P4T0fKXgyI4AlA19A Xpzbf6DVV7KFitFJI5Hg0MoZsa7SrlK1fKrUYw0Vxvh3Bd5zJBZGfF7gM7IpeLPp2bak BEuxumrobyWr/QHcg2TYoeUd6mpR+NkMTeffK4R9MOwRlCpbnXM67UolzOhr52cfs0XU Zj6vw0n05KOYFyyLTj5ihN4DrG998K0/+GMdMMWxT4unjeVe6djh58ZE9f+ipVXPpWnB BvUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=wjM0FhIF; 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 g21si16821898pgb.313.2019.06.03.02.19.17; Mon, 03 Jun 2019 02:19:34 -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=wjM0FhIF; 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 S1728645AbfFCJMb (ORCPT + 99 others); Mon, 3 Jun 2019 05:12:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:58974 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727868AbfFCJM3 (ORCPT ); Mon, 3 Jun 2019 05:12:29 -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 73AB224591; Mon, 3 Jun 2019 09:12:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559553148; bh=NFqSjvuzpsj8og/RBc9ZrBHoz0ZbFv3Ikt0Nw4tmzXI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wjM0FhIFIzZzXzLH/oS6qjVAt0zN3D+bRtUUWai4mrLQ5lXhJ0l1VTFoEDHkWM7lT xVqj4MS9DYUwdtBLFuq8OJAMerrtTifLUUel8J40hdiY1m8nDeDMTFP/ZqcU+vkzmA RSVqkSR7/KaNXQ2MaJiSLsTFPKk/kG4GKt4HjWWs= 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 5.0 26/36] bnxt_en: Fix aggregation buffer leak under OOM condition. Date: Mon, 3 Jun 2019 11:09:14 +0200 Message-Id: <20190603090522.701733407@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190603090520.998342694@linuxfoundation.org> References: <20190603090520.998342694@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 @@ -1636,6 +1636,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(cpr, cp_cons, agg_bufs); rc = -ENOMEM; goto next_rx; }