net/mlx5: fix work queue array size
Indirection table size must be in log to communicate with verbs when the
number of queue is not a power of two, the maximum indirection table
size is use, but not converted to log2. This makes a memory corruption.
Fixes: 4c7a0f5ff8
("net/mlx5: make indirection tables shareable")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
This commit is contained in:
parent
7bb5fa069d
commit
ebd0cd832b
@ -1120,7 +1120,7 @@ mlx5_priv_ind_table_ibv_new(struct priv *priv, uint16_t queues[],
|
|||||||
struct mlx5_ind_table_ibv *ind_tbl;
|
struct mlx5_ind_table_ibv *ind_tbl;
|
||||||
const unsigned int wq_n = rte_is_power_of_2(queues_n) ?
|
const unsigned int wq_n = rte_is_power_of_2(queues_n) ?
|
||||||
log2above(queues_n) :
|
log2above(queues_n) :
|
||||||
priv->ind_table_max_size;
|
log2above(priv->ind_table_max_size);
|
||||||
struct ibv_wq *wq[1 << wq_n];
|
struct ibv_wq *wq[1 << wq_n];
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
unsigned int j;
|
unsigned int j;
|
||||||
|
Loading…
Reference in New Issue
Block a user