[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aQshFdIQ4uZBj7XI@horms.kernel.org>
Date: Wed, 5 Nov 2025 10:04:05 +0000
From: Simon Horman <horms@...nel.org>
To: Tariq Toukan <tariqt@...dia.com>
Cc: Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Saeed Mahameed <saeedm@...dia.com>,
Leon Romanovsky <leon@...nel.org>, Mark Bloch <mbloch@...dia.com>,
netdev@...r.kernel.org, linux-rdma@...r.kernel.org,
linux-kernel@...r.kernel.org, Gal Pressman <gal@...dia.com>,
Dragos Tatulea <dtatulea@...dia.com>
Subject: Re: [PATCH net V2 2/3] net/mlx5e: SHAMPO, Fix skb size check for 64K
pages
On Tue, Nov 04, 2025 at 08:48:34AM +0200, Tariq Toukan wrote:
> From: Dragos Tatulea <dtatulea@...dia.com>
>
> mlx5e_hw_gro_skb_has_enough_space() uses a formula to check if there is
> enough space in the skb frags to store more data. This formula is
> incorrect for 64K page sizes and it triggers early GRO session
> termination because the first fragment will blow up beyond
> GRO_LEGACY_MAX_SIZE.
>
> This patch adds a special case for page sizes >= GRO_LEGACY_MAX_SIZE
> (64K) which uses the skb->len instead. Within this context,
> the check is safe from fragment overflow because the hardware
> will continuously fill the data up to the reservation size of 64K
> and the driver will coalesce all data from the same page to the same
> fragment. This means that the data will span one fragment or at most
> two for such a large page size.
>
> It is expected that the if statement will be optimized out as the
> check is done with constants.
>
> Fixes: 92552d3abd32 ("net/mlx5e: HW_GRO cqe handler implementation")
> Signed-off-by: Dragos Tatulea <dtatulea@...dia.com>
> Signed-off-by: Tariq Toukan <tariqt@...dia.com>
Reviewed-by: Simon Horman <horms@...nel.org>
Powered by blists - more mailing lists