[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d78d22d3-c8de-4d8a-9990-a66ec9ca904a@nvidia.com>
Date: Sun, 23 Nov 2025 09:05:04 +0200
From: Gal Pressman <gal@...dia.com>
To: Danielle Costantino <dcostantino@...a.com>,
Paolo Abeni <pabeni@...hat.com>
Cc: Tariq Toukan <tariqt@...dia.com>, Nimrod Oren <noren@...dia.com>,
Saeed Mahameed <saeedm@...dia.com>, Leon Romanovsky <leonro@...dia.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net 4/5] net/mlx5e: Fix wraparound in rate limiting for
values above 255 Gbps
On 20/11/2025 23:42, Danielle Costantino wrote:
> On Sun, Nov 9, 2025 at 11:37:52AM +0200, Gal Pressman wrote:
>> Add validation to reject rates exceeding 255 Gbps that would overflow
>> the 8 bits max bandwidth field.
>
> Hi Gal, Tariq, Paolo,
>
> While reviewing this commit (43b27d1bd88a) for backporting, I believe
> I've found a logic error in the validation condition.
>
> The issue is on line 617:
>
> } else if (max_bw_value[i] <= upper_limit_gbps) {
> max_bw_value[i] = div_u64(maxrate->tc_maxrate[i], MLX5E_1GB);
> max_bw_unit[i] = MLX5_GBPS_UNIT;
>
> Suggested fix:
> --------------
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c b/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
> index d88a48210fdc..XXXXXXXX 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
> @@ -614,7 +614,7 @@ static int mlx5e_dcbnl_ieee_setmaxrate(struct net_device *netdev,
> MLX5E_100MB);
> max_bw_value[i] = max_bw_value[i] ? max_bw_value[i] : 1;
> max_bw_unit[i] = MLX5_100_MBPS_UNIT;
> - } else if (max_bw_value[i] <= upper_limit_gbps) {
> + } else if (maxrate->tc_maxrate[i] <= upper_limit_gbps) {
> max_bw_value[i] = div_u64(maxrate->tc_maxrate[i],
> MLX5E_1GB);
> max_bw_unit[i] = MLX5_GBPS_UNIT;
>
> Let me know if you'd like me to send a formal patch for this.
Hi Danielle,
Your fix is correct, please submit a patch.
Thanks for catching this!
Powered by blists - more mailing lists