RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
authorDan Carpenter <error27@gmail.com>
Tue, 7 Mar 2023 09:51:27 +0000 (12:51 +0300)
committerLeon Romanovsky <leon@kernel.org>
Sun, 19 Mar 2023 09:35:46 +0000 (11:35 +0200)
commitd50b3c73f1ac20dabc53dc6e9d64ce9c79a331eb
tree690907cdfcc481ac9caa8af5f396e3114fa5cbc4
parentfaa63656fc361e78ebccb288c0be638a6a4ffe35
RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()

The ucmd->log_sq_bb_count variable is controlled by the user so this
shift can wrap.  Fix it by using check_shl_overflow() in the same way
that it was done in commit 515f60004ed9 ("RDMA/hns: Prevent undefined
behavior in hns_roce_set_user_sq_size()").

Fixes: 839041329fd3 ("IB/mlx4: Sanity check userspace send queue sizes")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/r/a8dfbd1d-c019-4556-930b-bab1ded73b10@kili.mountain
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx4/qp.c