net/mlx5: fix allocation size of RQT attribute

The receive queues list size is based on the size of uint32_t, so
when allocating the memory, the correct value should be used. Or
else there is risk to corrupt the memory, depending on the queues
number, because there is some pad area for alignment. If the queue
number is not large enough, the issue couldn't be observed.

Fixes: dc9ceff73c99 ("net/mlx5: create advanced RxQ via DevX")
Cc: stable@dpdk.org

Signed-off-by: Ori Kam <orika@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
This commit is contained in:
Ori Kam 2019-09-26 10:22:15 +00:00 committed by Ferruh Yigit
parent 906a2efae8
commit e72bd9603e

View File

@ -1936,7 +1936,7 @@ mlx5_ind_table_obj_new(struct rte_eth_dev *dev, const uint16_t *queues,
struct mlx5_devx_rqt_attr *rqt_attr = NULL;
rqt_attr = rte_calloc(__func__, 1, sizeof(*rqt_attr) +
queues_n * sizeof(uint16_t), 0);
queues_n * sizeof(uint32_t), 0);
if (!rqt_attr) {
DRV_LOG(ERR, "port %u cannot allocate RQT resources",
dev->data->port_id);