]> git.itanic.dy.fi Git - linux-stable/commitdiff
net/mlx5: Fix io_eq_size and event_eq_size params validation
authorShay Drory <shayd@nvidia.com>
Sun, 18 Dec 2022 10:42:14 +0000 (12:42 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 28 Dec 2022 19:38:49 +0000 (11:38 -0800)
io_eq_size and event_eq_size params are of param type
DEVLINK_PARAM_TYPE_U32. But, the validation callback is addressing them
as DEVLINK_PARAM_TYPE_U16.

This cause mismatch in validation in big-endian systems, in which
values in range were rejected while 268500991 was accepted.
Fix it by checking the U32 value in the validation callback.

Fixes: 0844fa5f7b89 ("net/mlx5: Let user configure io_eq_size param")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/devlink.c

index ddb197970c22c5c8994db59f964f439f41e39ffa..be59bb35d795cf92e739105e3fef4f0501b88ec3 100644 (file)
@@ -563,7 +563,7 @@ static int mlx5_devlink_eq_depth_validate(struct devlink *devlink, u32 id,
                                          union devlink_param_value val,
                                          struct netlink_ext_ack *extack)
 {
-       return (val.vu16 >= 64 && val.vu16 <= 4096) ? 0 : -EINVAL;
+       return (val.vu32 >= 64 && val.vu32 <= 4096) ? 0 : -EINVAL;
 }
 
 static const struct devlink_param mlx5_devlink_params[] = {