From: Dan Carpenter Date: Tue, 10 Jul 2012 20:33:36 +0000 (+0000) Subject: net/mlx4: off by one in parse_trans_rule() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=447458c01f4c765ab37ac7b380e60d977daae4c5;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git net/mlx4: off by one in parse_trans_rule() This should be ">=" here instead of ">". MLX4_NET_TRANS_RULE_NUM is 6. We use "spec->id" as an array offset into the __rule_hw_sz[] and __sw_id_hw[] arrays which have 6 elements. Signed-off-by: Dan Carpenter Acked-by: Hadar Hen Zion Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c index bc62f536ffa..5bac0dfafbd 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mcg.c +++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c @@ -773,7 +773,7 @@ static int parse_trans_rule(struct mlx4_dev *dev, struct mlx4_spec_list *spec, [MLX4_NET_TRANS_RULE_ID_UDP] = sizeof(struct mlx4_net_trans_rule_hw_tcp_udp) }; - if (spec->id > MLX4_NET_TRANS_RULE_NUM) { + if (spec->id >= MLX4_NET_TRANS_RULE_NUM) { mlx4_err(dev, "Invalid network rule id. id = %d\n", spec->id); return -EINVAL; }