From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9ED4CC7EE23 for ; Sun, 26 Feb 2023 14:59:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231384AbjBZO73 (ORCPT ); Sun, 26 Feb 2023 09:59:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231395AbjBZO6K (ORCPT ); Sun, 26 Feb 2023 09:58:10 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CB753193DC; Sun, 26 Feb 2023 06:52:16 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C242E60C16; Sun, 26 Feb 2023 14:49:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4011FC433D2; Sun, 26 Feb 2023 14:49:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1677422977; bh=qgRV3TUCbipXUQXCBpKmBdbjHbUpwxCMDXPvyIkEi/U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SUC1kqxcweE77aRJnfd70WZcgXkZuZfPLiCVobl5qZzKDLcWM7dHk5bI8PGjsvWfx 0vynnzzFrkaYtKJem0cuzfUFtwMqetEVTw37p4rKBI9gEY0wUv7fl1SPCMFv4Zp4nD IoEvMcaxDwKprCK4lsYKPDazsGG4KW+rVnGqfym35lZ3eBAgiDpUMrD5hK64m58flk ObDzGbqwdTvLW5++qqvXUxNbbGzkqTQH7LrS4CvjgFQKgffgyvo+gtxgJHzX+KG4xz XOnO5T0ZIBq3Huy6AKLSoCGwbp4CTQwYlq1QIFMO8T3JK3EObjBSqR8iFrn7iTWqOZ B9lNlTmsx02cQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Florian Fainelli , "David S . Miller" , Sasha Levin , opendmb@gmail.com, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org Subject: [PATCH AUTOSEL 5.15 20/36] net: bcmgenet: Add a check for oversized packets Date: Sun, 26 Feb 2023 09:48:28 -0500 Message-Id: <20230226144845.827893-20-sashal@kernel.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230226144845.827893-1-sashal@kernel.org> References: <20230226144845.827893-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Florian Fainelli [ Upstream commit 5c0862c2c962052ed5055220a00ac1cefb92fbcd ] Occasionnaly we may get oversized packets from the hardware which exceed the nomimal 2KiB buffer size we allocate SKBs with. Add an early check which drops the packet to avoid invoking skb_over_panic() and move on to processing the next packet. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index ea13917537526..92cd2916e8015 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2267,6 +2267,14 @@ static unsigned int bcmgenet_desc_rx(struct bcmgenet_rx_ring *ring, __func__, p_index, ring->c_index, ring->read_ptr, dma_length_status); + if (unlikely(len > RX_BUF_LENGTH)) { + netif_err(priv, rx_status, dev, "oversized packet\n"); + dev->stats.rx_length_errors++; + dev->stats.rx_errors++; + dev_kfree_skb_any(skb); + goto next; + } + if (unlikely(!(dma_flag & DMA_EOP) || !(dma_flag & DMA_SOP))) { netif_err(priv, rx_status, dev, "dropping fragmented packet!\n"); -- 2.39.0