|
@@ -349,7 +349,8 @@ static int mlx5e_rq_alloc_mpwqe_info(struct mlx5e_rq *rq,
|
|
|
{
|
|
|
int wq_sz = mlx5_wq_ll_get_size(&rq->mpwqe.wq);
|
|
|
|
|
|
- rq->mpwqe.info = kvzalloc_node(wq_sz * sizeof(*rq->mpwqe.info),
|
|
|
+ rq->mpwqe.info = kvzalloc_node(array_size(wq_sz,
|
|
|
+ sizeof(*rq->mpwqe.info)),
|
|
|
GFP_KERNEL, cpu_to_node(c->cpu));
|
|
|
if (!rq->mpwqe.info)
|
|
|
return -ENOMEM;
|
|
@@ -969,7 +970,7 @@ static int mlx5e_alloc_xdpsq_db(struct mlx5e_xdpsq *sq, int numa)
|
|
|
{
|
|
|
int wq_sz = mlx5_wq_cyc_get_size(&sq->wq);
|
|
|
|
|
|
- sq->db.di = kvzalloc_node(sizeof(*sq->db.di) * wq_sz,
|
|
|
+ sq->db.di = kvzalloc_node(array_size(wq_sz, sizeof(*sq->db.di)),
|
|
|
GFP_KERNEL, numa);
|
|
|
if (!sq->db.di) {
|
|
|
mlx5e_free_xdpsq_db(sq);
|
|
@@ -1028,7 +1029,8 @@ static int mlx5e_alloc_icosq_db(struct mlx5e_icosq *sq, int numa)
|
|
|
{
|
|
|
u8 wq_sz = mlx5_wq_cyc_get_size(&sq->wq);
|
|
|
|
|
|
- sq->db.ico_wqe = kvzalloc_node(sizeof(*sq->db.ico_wqe) * wq_sz,
|
|
|
+ sq->db.ico_wqe = kvzalloc_node(array_size(wq_sz,
|
|
|
+ sizeof(*sq->db.ico_wqe)),
|
|
|
GFP_KERNEL, numa);
|
|
|
if (!sq->db.ico_wqe)
|
|
|
return -ENOMEM;
|
|
@@ -1083,9 +1085,11 @@ static int mlx5e_alloc_txqsq_db(struct mlx5e_txqsq *sq, int numa)
|
|
|
int wq_sz = mlx5_wq_cyc_get_size(&sq->wq);
|
|
|
int df_sz = wq_sz * MLX5_SEND_WQEBB_NUM_DS;
|
|
|
|
|
|
- sq->db.dma_fifo = kvzalloc_node(df_sz * sizeof(*sq->db.dma_fifo),
|
|
|
+ sq->db.dma_fifo = kvzalloc_node(array_size(df_sz,
|
|
|
+ sizeof(*sq->db.dma_fifo)),
|
|
|
GFP_KERNEL, numa);
|
|
|
- sq->db.wqe_info = kvzalloc_node(wq_sz * sizeof(*sq->db.wqe_info),
|
|
|
+ sq->db.wqe_info = kvzalloc_node(array_size(wq_sz,
|
|
|
+ sizeof(*sq->db.wqe_info)),
|
|
|
GFP_KERNEL, numa);
|
|
|
if (!sq->db.dma_fifo || !sq->db.wqe_info) {
|
|
|
mlx5e_free_txqsq_db(sq);
|