diff options
author | Noa Osherovich <noaos@mellanox.com> | 2016-06-04 15:15:34 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-08-20 18:09:24 +0200 |
commit | bae7400e1e13b1ce617eae73227218d7bff3d829 (patch) | |
tree | aa9fd9e22cb9fb7e2076bdd6e29b61bd1df28905 | |
parent | 02773ea7eddad4b35bc2812d3e7743ee48430d4b (diff) | |
download | linux-stable-bae7400e1e13b1ce617eae73227218d7bff3d829.tar.gz linux-stable-bae7400e1e13b1ce617eae73227218d7bff3d829.tar.bz2 linux-stable-bae7400e1e13b1ce617eae73227218d7bff3d829.zip |
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 <majd@mellanox.com>
Signed-off-by: Noa Osherovich <noaos@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/infiniband/hw/mlx5/cq.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |