net/mlx5: fix overflow in mempool argument
authorMichael Baum <michaelba@nvidia.com>
Thu, 1 Jul 2021 06:39:16 +0000 (09:39 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 22 Jul 2021 12:48:47 +0000 (14:48 +0200)
commit2fec07edd4bca7ead134a5a1b4672a682d6c6ad4
treece995ff3632ada22df9edeba477d9d2245a35416
parentc6b552e4c0aaedf910ddae0345faee360394958b
net/mlx5: fix overflow in mempool argument

The mlx5_mprq_alloc_mp function makes shifting to the numeric constant
1, for sending it as a parameter to rte_mempool_create function.

The rte_mempool_create function expects to get void pointer (uintptr_t,
might be 64-bit) and instead gets a 32-bit variable, because the
numeric constant size is a 32-bit.
In case the shift is greater than 32 the variable might lose its value
even though the function might get 64-bit argument.

Change the size of the numeric constant 1 to uintptr_t.

Fixes: 3a22f3877c9d ("net/mlx5: replace external mbuf shared memory")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/mlx5_rxq.c