From nobody Sat Feb 7 07:25:55 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A106211713; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761621546; cv=none; b=clb486wFq6JuEqNtqaA1UAsnStNU9i+aziyD3b8XEjA2AjCv7irlOmKJcIWhDbUlb22cZCBY/Fno0YfkRdW65hsI9YwYfi+V2RzSHVuDClKIfFUQqrmnzQpiCjHVUOWXp19/knv6DzHNzD66YQVrikB+2QZAanzhNQUz9acCYu8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761621546; c=relaxed/simple; bh=0hWKqbgkN+hfhvJMeOStqFbwoig9LbU901FZt559fFY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TJ0OFbXIo8wF9lx51rHjzk1SaJCuGmcFgSdSNtAbgTH57daII9xspcQVwaUFxGEM1B7tay6tJWellQyUQKHOJ4d1x56SES4bOl5BMGvDmdcA4cbhhx0J9XWxove8wYnOLnUR2U8Mm5qx5X/Q4hLUM5u/plgpTU9O2Wu+vyI93+8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=l+DcDe/t; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="l+DcDe/t" Received: by smtp.kernel.org (Postfix) with ESMTPS id 3BBB5C113D0; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761621546; bh=0hWKqbgkN+hfhvJMeOStqFbwoig9LbU901FZt559fFY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=l+DcDe/t57UWPX8sp+jxMaek3cJ1i01vvq/Zx5no+ZxZ5SdKXwoQSA99qM2CuiLVd sk+bLhNBmzXHUaYaHF44JPu+2OYIELnuLkNJGtKdXNwavSZSN7GiKAEwUK+iE5ivYA ynTRlYYIKPc7pKwDVT5rGb+pUW0qNSjtbqxeZcOsqCZ8w4QngxSxqp7ip0rzL6Wgpn bQ2c598itrqznbx/i+H0AO4PixDqriWCuHfu3SrMqjoEI49W2S6c9Z4P4984ltQfp+ SWx9AcM8DJVyRW5zXGuLJX1lYwKfjojOSxD0fAJMCzhM0gECfhgHwP7wDAMjanz61n DhnjOJchFJmrA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 295FCCCF9E0; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) From: Rohan G Thomas via B4 Relay Date: Tue, 28 Oct 2025 11:18:43 +0800 Subject: [PATCH net v4 1/3] net: stmmac: vlan: Disable 802.1AD tag insertion offload Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-qbv-fixes-v4-1-26481c7634e3@altera.com> References: <20251028-qbv-fixes-v4-0-26481c7634e3@altera.com> In-Reply-To: <20251028-qbv-fixes-v4-0-26481c7634e3@altera.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Jose Abreu , Rohan G Thomas , Boon Khai Ng Cc: netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Rohan G Thomas X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761621544; l=4277; i=rohan.g.thomas@altera.com; s=20250815; h=from:subject:message-id; bh=rxibg18Dd61H1Ewfb91EvrT+ppl8EDLCs85ERja28NM=; b=+KObgtYWGuAQEnejsbqZRVuMV8R5bTJyIFYA4j6CPeGH4Kxqv3NFjXxFbBTqvLPxZsH4XcU4o P7wzCNwvpIWDrcvoNBDxfNBEO+1643HG2WoSbbw1vjDe7HVtAd0Y+c3 X-Developer-Key: i=rohan.g.thomas@altera.com; a=ed25519; pk=5yZXkXswhfUILKAQwoIn7m6uSblwgV5oppxqde4g4TY= X-Endpoint-Received: by B4 Relay for rohan.g.thomas@altera.com/20250815 with auth_id=494 X-Original-From: Rohan G Thomas Reply-To: rohan.g.thomas@altera.com From: Rohan G Thomas The DWMAC IP's VLAN tag insertion offload does not support inserting STAG (802.1AD) and CTAG (802.1Q) types in bytes 13 and 14 using the same MAC_VLAN_Incl and MAC_VLAN_Inner_Incl register configurations. Currently, MAC_VLAN_Incl is configured to offload only STAG type insertion. However, the DWMAC IP inserts a CTAG type when the inner VLAN ID field of the descriptor is not configured, and a STAG type when it is configured. This behavior is not documented and leads to inconsistent double VLAN tagging. Additionally, an unexpected CTAG with VLAN ID 0 is inserted, resulting in frames like: Frame 1: 110 bytes on wire (880 bits), 110 bytes captured (880 bits) Ethernet II, Src: (), Dst: () IEEE 802.1ad, ID: 100 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 0 (unexpected) 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 200 Internet Protocol Version 4, Src: 192.168.4.10, Dst: 192.168.4.11 Internet Control Message Protocol To avoid this undocumented and incorrect behavior, disable 802.1AD tag insertion offload. Also, don't set CSVL bit. As per the data book, when this bit is set, S-VLAN type (0x88A8) is inserted in the 13th and 14th bytes of transmitted packets and when this bit is reset, C-VLAN type (0x8100) is inserted in the 13th and 14th bytes of transmitted packets. Fixes: 30d932279dc2 ("net: stmmac: Add support for VLAN Insertion Offload") Fixes: e94e3f3b51ce ("net: stmmac: Add support for VLAN Insertion Offload i= n GMAC4+") Fixes: 1d2c7a5fee31 ("net: stmmac: Refactor VLAN implementation") Signed-off-by: Rohan G Thomas Reviewed-by: Boon Khai Ng --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 18 ++++-------------- drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.c | 2 +- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/ne= t/ethernet/stmicro/stmmac/stmmac_main.c index fd51068801928e138c3b483a1115b59b5ffa955a..0e2dc0a464d5516b8aabe2f9afc= 60c6e37f0209e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -4107,18 +4107,11 @@ static int stmmac_release(struct net_device *dev) static bool stmmac_vlan_insert(struct stmmac_priv *priv, struct sk_buff *s= kb, struct stmmac_tx_queue *tx_q) { - u16 tag =3D 0x0, inner_tag =3D 0x0; - u32 inner_type =3D 0x0; struct dma_desc *p; + u16 tag =3D 0x0; =20 - if (!priv->dma_cap.vlins) + if (!priv->dma_cap.vlins || !skb_vlan_tag_present(skb)) return false; - if (!skb_vlan_tag_present(skb)) - return false; - if (skb->vlan_proto =3D=3D htons(ETH_P_8021AD)) { - inner_tag =3D skb_vlan_tag_get(skb); - inner_type =3D STMMAC_VLAN_INSERT; - } =20 tag =3D skb_vlan_tag_get(skb); =20 @@ -4127,7 +4120,7 @@ static bool stmmac_vlan_insert(struct stmmac_priv *pr= iv, struct sk_buff *skb, else p =3D &tx_q->dma_tx[tx_q->cur_tx]; =20 - if (stmmac_set_desc_vlan_tag(priv, p, tag, inner_tag, inner_type)) + if (stmmac_set_desc_vlan_tag(priv, p, tag, 0x0, 0x0)) return false; =20 stmmac_set_tx_owner(priv, p); @@ -7591,11 +7584,8 @@ int stmmac_dvr_probe(struct device *device, ndev->features |=3D NETIF_F_HW_VLAN_CTAG_FILTER; ndev->features |=3D NETIF_F_HW_VLAN_STAG_FILTER; } - if (priv->dma_cap.vlins) { + if (priv->dma_cap.vlins) ndev->features |=3D NETIF_F_HW_VLAN_CTAG_TX; - if (priv->dma_cap.dvlan) - ndev->features |=3D NETIF_F_HW_VLAN_STAG_TX; - } #endif priv->msg_enable =3D netif_msg_init(debug, default_msg_level); =20 diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.c b/drivers/ne= t/ethernet/stmicro/stmmac/stmmac_vlan.c index 0b6f6228ae35db3d855d8d386c3806a007a9d176..ff02a79c00d4f52a458edde1bcc= 08a0895b2c1c1 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_vlan.c @@ -212,7 +212,7 @@ static void vlan_enable(struct mac_device_info *hw, u32= type) =20 value =3D readl(ioaddr + VLAN_INCL); value |=3D VLAN_VLTI; - value |=3D VLAN_CSVL; /* Only use SVLAN */ + value &=3D ~VLAN_CSVL; /* Only use CVLAN */ value &=3D ~VLAN_VLC; value |=3D (type << VLAN_VLC_SHIFT) & VLAN_VLC; writel(value, ioaddr + VLAN_INCL); --=20 2.43.7 From nobody Sat Feb 7 07:25:55 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A10C4158874; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761621546; cv=none; b=mcpWhofMfZjQdiKTatCDfz+UqcWSP6e36EDe3tbvPS8j2UaDZwPvBAtLDp4mnXl5Yek9O3nwH1AQ3k27eJZ/G8KMVUrRaQZLa01zfvtpIdIzZ9W3qqA447MR8OOCXNeUOibsvCEnFjRtpPFezFjR4axqJr9giVHKbP8bJU7ZkJk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761621546; c=relaxed/simple; bh=hSMjXziVpPMEtbuIC86BFTIcw4ntPZpdEiitAvSj+tY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AtogAL010CDajYAtkQOsGMOHoO0CIOuM/2NllejdiilK+ccuWKwoKHMJxJeFmC9HlLUxtcppj1kdp8bY+pHO14QX4NhD58pFDIaGKbUkOxQiq4UE4o0rpEzJWQW22jRw6VFBshd+J6hHQJ6KyhhaYjC7FJBPKaYKa//OyR3SZe8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mBwCMk+y; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mBwCMk+y" Received: by smtp.kernel.org (Postfix) with ESMTPS id 4850FC4CEFB; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761621546; bh=hSMjXziVpPMEtbuIC86BFTIcw4ntPZpdEiitAvSj+tY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=mBwCMk+yM52E8gR3aBMJB+YT6svhs9WzDS/MZgefCEljgwhUuVb5PFFcVelEXRJT6 7CoRciHg1bISWi/pfDeQhCc3jJ27mGucNVX0uT7V2Ym2NzgPyJZTTsctKrswcBxM4S eYIRDZcgKn4408Kn5PaP7y+yS1GlGVp7x/zpWmPI0bCpdvk73TbpRKl2K+RROU9eOs o0XE7CaVVUs3oftPwbqs1gvWKKd+lkSvLeX4S7tEf2nPAt7KrgnuGFDJAyyc2k0PJ+ X3EiD0XP44EDyKf9qTyBD9Ku7nZZABhIb/ozCsUIfnoDa94vdG6pDUlghy5qffxMRZ okUEKm8Qyot1g== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 399C0CCD1BF; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) From: Rohan G Thomas via B4 Relay Date: Tue, 28 Oct 2025 11:18:44 +0800 Subject: [PATCH net v4 2/3] net: stmmac: Consider Tx VLAN offload tag length for maxSDU Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-qbv-fixes-v4-2-26481c7634e3@altera.com> References: <20251028-qbv-fixes-v4-0-26481c7634e3@altera.com> In-Reply-To: <20251028-qbv-fixes-v4-0-26481c7634e3@altera.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Jose Abreu , Rohan G Thomas , Boon Khai Ng Cc: netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Rohan G Thomas , Matthew Gerlach X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761621544; l=2209; i=rohan.g.thomas@altera.com; s=20250815; h=from:subject:message-id; bh=CO26pwlKR66OKT0ufmF/QwQbSxoYj3sToTSLa+5EzgI=; b=Gx526F+k/ZNMujmfc2ZDc8kjxctS/U7dvX8WX5u1qa+DoeQOX4uMPftUDysPHK0eIcXFcqg6f z96MVfr+AWPA9DUEipfGr9/X2Y0tjgBGEbyththa8HqFWE+xwgXnZb4 X-Developer-Key: i=rohan.g.thomas@altera.com; a=ed25519; pk=5yZXkXswhfUILKAQwoIn7m6uSblwgV5oppxqde4g4TY= X-Endpoint-Received: by B4 Relay for rohan.g.thomas@altera.com/20250815 with auth_id=494 X-Original-From: Rohan G Thomas Reply-To: rohan.g.thomas@altera.com From: Rohan G Thomas Queue maxSDU requirement of 802.1 Qbv standard requires mac to drop packets that exceeds maxSDU length and maxSDU doesn't include preamble, destination and source address, or FCS but includes ethernet type and VLAN header. On hardware with Tx VLAN offload enabled, VLAN header length is not included in the skb->len, when Tx VLAN offload is requested. This leads to incorrect length checks and allows transmission of oversized packets. Add the VLAN_HLEN to the skb->len before checking the Qbv maxSDU if Tx VLAN offload is requested for the packet. Fixes: c5c3e1bfc9e0 ("net: stmmac: Offload queueMaxSDU from tc-taprio") Signed-off-by: Rohan G Thomas Reviewed-by: Matthew Gerlach --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/ne= t/ethernet/stmicro/stmmac/stmmac_main.c index 0e2dc0a464d5516b8aabe2f9afc60c6e37f0209e..042c823bbced88070fa26003c6b= 513257c0f2bb6 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -4518,6 +4518,7 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, s= truct net_device *dev) bool has_vlan, set_ic; int entry, first_tx; dma_addr_t des; + u32 sdu_len; =20 tx_q =3D &priv->dma_conf.tx_queue[queue]; txq_stats =3D &priv->xstats.txq_stats[queue]; @@ -4536,10 +4537,15 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb,= struct net_device *dev) } =20 if (priv->est && priv->est->enable && - priv->est->max_sdu[queue] && - skb->len > priv->est->max_sdu[queue]){ - priv->xstats.max_sdu_txq_drop[queue]++; - goto max_sdu_err; + priv->est->max_sdu[queue]) { + sdu_len =3D skb->len; + /* Add VLAN tag length if VLAN tag insertion offload is requested */ + if (priv->dma_cap.vlins && skb_vlan_tag_present(skb)) + sdu_len +=3D VLAN_HLEN; + if (sdu_len > priv->est->max_sdu[queue]) { + priv->xstats.max_sdu_txq_drop[queue]++; + goto max_sdu_err; + } } =20 if (unlikely(stmmac_tx_avail(priv, queue) < nfrags + 1)) { --=20 2.43.7 From nobody Sat Feb 7 07:25:55 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A110D17C21E; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761621546; cv=none; b=E6439leS8ZwsVuRze6sjzcrDNV84fuPe6LSgzoK1m6FM4htFFIGJiqwpgl44GXebwEkNphFTSCF851q5xBIub62vMvhsqn8yXycX8PT/iplE4b5dgFK6lTH/aPH6KujO4x2WL6Siw382OpV079wjPWygenZsX9ivqcnbG9VIS4s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761621546; c=relaxed/simple; bh=rhuTQBILO/3ko7T4YN6viqf7VD8LLS2B2vglmaJ12pc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NcxyWS4aNW5HGf2tI+okdOJbbhjjUQ9fRTiO5ofsZ3k8VGJe/2jd8igGeEoxzElCIFH4aeyqopiv+RD4j1j5HrDa9TwNr7Qup/AjYXwYnlIM9/ZpfVDB3RJT4xthSNd/7GKT4RypPxO/xdh6BwORiutLh0VMfKR0QdAsSpG24YQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LqO2RohP; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LqO2RohP" Received: by smtp.kernel.org (Postfix) with ESMTPS id 50248C116C6; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1761621546; bh=rhuTQBILO/3ko7T4YN6viqf7VD8LLS2B2vglmaJ12pc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=LqO2RohPzR/SipeTjO6n7Be7rqBTm+38Wx5xx0V9m30hcBqoUzUhgo53X8Y1Fg7oj XMGhKXB9AeXM7wvEkRAmimYLMVEUGy+XcpzBIyHrS4o07sEDmsOVCQmAvA7tOxW6fF FE5nQ2CVMnqZ3fIu7X9uXZxoWL4PAOnmRmwMfuYxkbq5JT8E/jn2NKB+RgK48PRzYn YZ0vKoUUy05e40bQwECgHbgEIyxYTnSoLEddOprddEG1x65Z0NaOfuoxvgzAGS4u1j OfYuqmtY/tJRuA3DIjAHKbwl7dIrmg+vZEnDdpVkx29AqmsGHlp71te1jvveNXci2Q VFfXHkfoXrUQA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 484D7CCF9EA; Tue, 28 Oct 2025 03:19:06 +0000 (UTC) From: Rohan G Thomas via B4 Relay Date: Tue, 28 Oct 2025 11:18:45 +0800 Subject: [PATCH net v4 3/3] net: stmmac: est: Fix GCL bounds checks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251028-qbv-fixes-v4-3-26481c7634e3@altera.com> References: <20251028-qbv-fixes-v4-0-26481c7634e3@altera.com> In-Reply-To: <20251028-qbv-fixes-v4-0-26481c7634e3@altera.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Alexandre Torgue , Jose Abreu , Rohan G Thomas , Boon Khai Ng Cc: netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Rohan G Thomas , Matthew Gerlach X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1761621544; l=1340; i=rohan.g.thomas@altera.com; s=20250815; h=from:subject:message-id; bh=k4E9iK4RiPK/MUr6aNRMEoxEsNmOvrcMsNQIhLkPefA=; b=HfSDPmgRlDitrbNjivy6sUn+fYyJqUgImrklCz+82NoRqDphaIwBDiBGGyY0CrBJWNiQZSNVn MX41EgUgcl5BCokGi0lBGPv+Zq16SiugloP3OYI08P9v3VN9Ixl2ObO X-Developer-Key: i=rohan.g.thomas@altera.com; a=ed25519; pk=5yZXkXswhfUILKAQwoIn7m6uSblwgV5oppxqde4g4TY= X-Endpoint-Received: by B4 Relay for rohan.g.thomas@altera.com/20250815 with auth_id=494 X-Original-From: Rohan G Thomas Reply-To: rohan.g.thomas@altera.com From: Rohan G Thomas Fix the bounds checks for the hw supported maximum GCL entry count and gate interval time. Fixes: b60189e0392f ("net: stmmac: Integrate EST with TAPRIO scheduler API") Signed-off-by: Rohan G Thomas Reviewed-by: Matthew Gerlach --- drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c b/drivers/net/= ethernet/stmicro/stmmac/stmmac_tc.c index ef65cf511f3e25eb512187d52775bb363bb83902..d786527185999db6bb6a18a29ee= e5ff5282b8ef4 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c @@ -981,7 +981,7 @@ static int tc_taprio_configure(struct stmmac_priv *priv, if (qopt->cmd =3D=3D TAPRIO_CMD_DESTROY) goto disable; =20 - if (qopt->num_entries >=3D dep) + if (qopt->num_entries > dep) return -EINVAL; if (!qopt->cycle_time) return -ERANGE; @@ -1012,7 +1012,7 @@ static int tc_taprio_configure(struct stmmac_priv *pr= iv, s64 delta_ns =3D qopt->entries[i].interval; u32 gates =3D qopt->entries[i].gate_mask; =20 - if (delta_ns > GENMASK(wid, 0)) + if (delta_ns > GENMASK(wid - 1, 0)) return -ERANGE; if (gates > GENMASK(31 - wid, 0)) return -ERANGE; --=20 2.43.7