From: Shay Drory Date: Sun, 18 Dec 2022 10:42:14 +0000 (+0200) Subject: net/mlx5: Fix io_eq_size and event_eq_size params validation X-Git-Tag: v6.1.8~490 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=95a327eaebe2e8b0e0cdab121c0d798919ec3244;p=platform%2Fkernel%2Flinux-starfive.git net/mlx5: Fix io_eq_size and event_eq_size params validation [ Upstream commit 44aee8ea15ac205490a41b00cbafcccbf9f7f82b ] 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 Reviewed-by: Moshe Shemesh Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c index 66c6a70..9e4e8d5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c @@ -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[] = {