From: Noa Osherovich Date: Sat, 4 Jun 2016 12:15:34 +0000 (+0300) Subject: IB/mlx5: Fix entries checks in mlx5_ib_create_cq X-Git-Tag: firefly_0821_release~176^2~4^2~31^2~341 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=bae7400e1e13b1ce617eae73227218d7bff3d829;p=firefly-linux-kernel-4.4.55.git IB/mlx5: Fix entries checks in mlx5_ib_create_cq commit 9ea578528656e191c1097798a771ff08bab6f323 upstream. Number of entries shouldn't be greater than the device's max capability. This should be checked before rounding the entries number to power of two. Fixes: 51ee86a4af639 ('IB/mlx5: Fix check of number of entries...') Signed-off-by: Majd Dibbiny Signed-off-by: Noa Osherovich Signed-off-by: Leon Romanovsky Reviewed-by: Sagi Grimberg Signed-off-by: Doug Ledford Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c index 92ddae101ecc..44fec25ace65 100644 --- a/drivers/infiniband/hw/mlx5/cq.c +++ b/drivers/infiniband/hw/mlx5/cq.c @@ -763,7 +763,8 @@ struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev, if (attr->flags) return ERR_PTR(-EINVAL); - if (entries < 0) + if (entries < 0 || + (entries > (1 << MLX5_CAP_GEN(dev->mdev, log_max_cq_sz)))) return ERR_PTR(-EINVAL); entries = roundup_pow_of_two(entries + 1);