net: huawei: hinic: Use devm_kcalloc() instead of devm_kzalloc()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Wed, 8 Dec 2021 04:03:11 +0000 (22:03 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:23:02 +0000 (10:23 +0200)
[ Upstream commit 9d922f5df53844228b9f7c62f2593f4f06c0b69b ]

Use 2-factor multiplication argument form devm_kcalloc() instead
of devm_kzalloc().

Link: https://github.com/KSPP/linux/issues/162
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20211208040311.GA169838@embeddedor
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/huawei/hinic/hinic_hw_api_cmd.c
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c
drivers/net/ethernet/huawei/hinic/hinic_hw_eqs.c
drivers/net/ethernet/huawei/hinic/hinic_hw_wq.c
drivers/net/ethernet/huawei/hinic/hinic_main.c
drivers/net/ethernet/huawei/hinic/hinic_tx.c

index 06586173add77278dda952ba9d928e5246766396..998717f02136ff8309d77b623c72235215be7f2a 100644 (file)
@@ -814,7 +814,6 @@ static int api_chain_init(struct hinic_api_cmd_chain *chain,
 {
        struct hinic_hwif *hwif = attr->hwif;
        struct pci_dev *pdev = hwif->pdev;
-       size_t cell_ctxt_size;
 
        chain->hwif = hwif;
        chain->chain_type  = attr->chain_type;
@@ -826,8 +825,8 @@ static int api_chain_init(struct hinic_api_cmd_chain *chain,
 
        sema_init(&chain->sem, 1);
 
-       cell_ctxt_size = chain->num_cells * sizeof(*chain->cell_ctxt);
-       chain->cell_ctxt = devm_kzalloc(&pdev->dev, cell_ctxt_size, GFP_KERNEL);
+       chain->cell_ctxt = devm_kcalloc(&pdev->dev, chain->num_cells,
+                                       sizeof(*chain->cell_ctxt), GFP_KERNEL);
        if (!chain->cell_ctxt)
                return -ENOMEM;
 
index 307a6d4af993d03224b820c6cd5731b6b4818702..a627237f694bbad6fbf0dea0e56a20df153e78f4 100644 (file)
@@ -796,11 +796,10 @@ static int init_cmdqs_ctxt(struct hinic_hwdev *hwdev,
        struct hinic_cmdq_ctxt *cmdq_ctxts;
        struct pci_dev *pdev = hwif->pdev;
        struct hinic_pfhwdev *pfhwdev;
-       size_t cmdq_ctxts_size;
        int err;
 
-       cmdq_ctxts_size = HINIC_MAX_CMDQ_TYPES * sizeof(*cmdq_ctxts);
-       cmdq_ctxts = devm_kzalloc(&pdev->dev, cmdq_ctxts_size, GFP_KERNEL);
+       cmdq_ctxts = devm_kcalloc(&pdev->dev, HINIC_MAX_CMDQ_TYPES,
+                                 sizeof(*cmdq_ctxts), GFP_KERNEL);
        if (!cmdq_ctxts)
                return -ENOMEM;
 
@@ -884,7 +883,6 @@ int hinic_init_cmdqs(struct hinic_cmdqs *cmdqs, struct hinic_hwif *hwif,
        struct hinic_func_to_io *func_to_io = cmdqs_to_func_to_io(cmdqs);
        struct pci_dev *pdev = hwif->pdev;
        struct hinic_hwdev *hwdev;
-       size_t saved_wqs_size;
        u16 max_wqe_size;
        int err;
 
@@ -895,8 +893,8 @@ int hinic_init_cmdqs(struct hinic_cmdqs *cmdqs, struct hinic_hwif *hwif,
        if (!cmdqs->cmdq_buf_pool)
                return -ENOMEM;
 
-       saved_wqs_size = HINIC_MAX_CMDQ_TYPES * sizeof(struct hinic_wq);
-       cmdqs->saved_wqs = devm_kzalloc(&pdev->dev, saved_wqs_size, GFP_KERNEL);
+       cmdqs->saved_wqs = devm_kcalloc(&pdev->dev, HINIC_MAX_CMDQ_TYPES,
+                                       sizeof(*cmdqs->saved_wqs), GFP_KERNEL);
        if (!cmdqs->saved_wqs) {
                err = -ENOMEM;
                goto err_saved_wqs;
index 56b6b04e209b3e7f3ab5c75991a33b2a2f9ab653..ca76896d9f1c4e4afc6630638d0577648af6f74b 100644 (file)
@@ -162,7 +162,6 @@ static int init_msix(struct hinic_hwdev *hwdev)
        struct hinic_hwif *hwif = hwdev->hwif;
        struct pci_dev *pdev = hwif->pdev;
        int nr_irqs, num_aeqs, num_ceqs;
-       size_t msix_entries_size;
        int i, err;
 
        num_aeqs = HINIC_HWIF_NUM_AEQS(hwif);
@@ -171,8 +170,8 @@ static int init_msix(struct hinic_hwdev *hwdev)
        if (nr_irqs > HINIC_HWIF_NUM_IRQS(hwif))
                nr_irqs = HINIC_HWIF_NUM_IRQS(hwif);
 
-       msix_entries_size = nr_irqs * sizeof(*hwdev->msix_entries);
-       hwdev->msix_entries = devm_kzalloc(&pdev->dev, msix_entries_size,
+       hwdev->msix_entries = devm_kcalloc(&pdev->dev, nr_irqs,
+                                          sizeof(*hwdev->msix_entries),
                                           GFP_KERNEL);
        if (!hwdev->msix_entries)
                return -ENOMEM;
index d3fc05a07fdb6133f6323a333151f6632c491d78..045c47786a0418159ec86db0b2712455dfe00555 100644 (file)
@@ -631,16 +631,15 @@ static int alloc_eq_pages(struct hinic_eq *eq)
        struct hinic_hwif *hwif = eq->hwif;
        struct pci_dev *pdev = hwif->pdev;
        u32 init_val, addr, val;
-       size_t addr_size;
        int err, pg;
 
-       addr_size = eq->num_pages * sizeof(*eq->dma_addr);
-       eq->dma_addr = devm_kzalloc(&pdev->dev, addr_size, GFP_KERNEL);
+       eq->dma_addr = devm_kcalloc(&pdev->dev, eq->num_pages,
+                                   sizeof(*eq->dma_addr), GFP_KERNEL);
        if (!eq->dma_addr)
                return -ENOMEM;
 
-       addr_size = eq->num_pages * sizeof(*eq->virt_addr);
-       eq->virt_addr = devm_kzalloc(&pdev->dev, addr_size, GFP_KERNEL);
+       eq->virt_addr = devm_kcalloc(&pdev->dev, eq->num_pages,
+                                    sizeof(*eq->virt_addr), GFP_KERNEL);
        if (!eq->virt_addr) {
                err = -ENOMEM;
                goto err_virt_addr_alloc;
index 0c1b0a91b1aed75ed65ff4bed6f032e35a6ec148..f7dc7d825f63787b5c905e1b5fb1d9170073d61a 100644 (file)
@@ -193,20 +193,20 @@ static int alloc_page_arrays(struct hinic_wqs *wqs)
 {
        struct hinic_hwif *hwif = wqs->hwif;
        struct pci_dev *pdev = hwif->pdev;
-       size_t size;
 
-       size = wqs->num_pages * sizeof(*wqs->page_paddr);
-       wqs->page_paddr = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
+       wqs->page_paddr = devm_kcalloc(&pdev->dev, wqs->num_pages,
+                                      sizeof(*wqs->page_paddr), GFP_KERNEL);
        if (!wqs->page_paddr)
                return -ENOMEM;
 
-       size = wqs->num_pages * sizeof(*wqs->page_vaddr);
-       wqs->page_vaddr = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
+       wqs->page_vaddr = devm_kcalloc(&pdev->dev, wqs->num_pages,
+                                      sizeof(*wqs->page_vaddr), GFP_KERNEL);
        if (!wqs->page_vaddr)
                goto err_page_vaddr;
 
-       size = wqs->num_pages * sizeof(*wqs->shadow_page_vaddr);
-       wqs->shadow_page_vaddr = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
+       wqs->shadow_page_vaddr = devm_kcalloc(&pdev->dev, wqs->num_pages,
+                                             sizeof(*wqs->shadow_page_vaddr),
+                                             GFP_KERNEL);
        if (!wqs->shadow_page_vaddr)
                goto err_page_shadow_vaddr;
 
@@ -379,15 +379,14 @@ static int alloc_wqes_shadow(struct hinic_wq *wq)
 {
        struct hinic_hwif *hwif = wq->hwif;
        struct pci_dev *pdev = hwif->pdev;
-       size_t size;
 
-       size = wq->num_q_pages * wq->max_wqe_size;
-       wq->shadow_wqe = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
+       wq->shadow_wqe = devm_kcalloc(&pdev->dev, wq->num_q_pages,
+                                     wq->max_wqe_size, GFP_KERNEL);
        if (!wq->shadow_wqe)
                return -ENOMEM;
 
-       size = wq->num_q_pages * sizeof(wq->prod_idx);
-       wq->shadow_idx = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
+       wq->shadow_idx = devm_kcalloc(&pdev->dev, wq->num_q_pages,
+                                     sizeof(wq->prod_idx), GFP_KERNEL);
        if (!wq->shadow_idx)
                goto err_shadow_idx;
 
index ae707e305684b29f6f9f471e72f9126d38ccaa4f..f8aa80ec201bd41eb0b8257db672b7cf81546057 100644 (file)
@@ -144,13 +144,12 @@ static int create_txqs(struct hinic_dev *nic_dev)
 {
        int err, i, j, num_txqs = hinic_hwdev_num_qps(nic_dev->hwdev);
        struct net_device *netdev = nic_dev->netdev;
-       size_t txq_size;
 
        if (nic_dev->txqs)
                return -EINVAL;
 
-       txq_size = num_txqs * sizeof(*nic_dev->txqs);
-       nic_dev->txqs = devm_kzalloc(&netdev->dev, txq_size, GFP_KERNEL);
+       nic_dev->txqs = devm_kcalloc(&netdev->dev, num_txqs,
+                                    sizeof(*nic_dev->txqs), GFP_KERNEL);
        if (!nic_dev->txqs)
                return -ENOMEM;
 
@@ -241,13 +240,12 @@ static int create_rxqs(struct hinic_dev *nic_dev)
 {
        int err, i, j, num_rxqs = hinic_hwdev_num_qps(nic_dev->hwdev);
        struct net_device *netdev = nic_dev->netdev;
-       size_t rxq_size;
 
        if (nic_dev->rxqs)
                return -EINVAL;
 
-       rxq_size = num_rxqs * sizeof(*nic_dev->rxqs);
-       nic_dev->rxqs = devm_kzalloc(&netdev->dev, rxq_size, GFP_KERNEL);
+       nic_dev->rxqs = devm_kcalloc(&netdev->dev, num_rxqs,
+                                    sizeof(*nic_dev->rxqs), GFP_KERNEL);
        if (!nic_dev->rxqs)
                return -ENOMEM;
 
index c5bdb0d374efa49a0c1d4d2656424fd296994797..a984a7a6dd2e20b38f831cd22d5576ea5d6b43bb 100644 (file)
@@ -862,7 +862,6 @@ int hinic_init_txq(struct hinic_txq *txq, struct hinic_sq *sq,
        struct hinic_dev *nic_dev = netdev_priv(netdev);
        struct hinic_hwdev *hwdev = nic_dev->hwdev;
        int err, irqname_len;
-       size_t sges_size;
 
        txq->netdev = netdev;
        txq->sq = sq;
@@ -871,13 +870,13 @@ int hinic_init_txq(struct hinic_txq *txq, struct hinic_sq *sq,
 
        txq->max_sges = HINIC_MAX_SQ_BUFDESCS;
 
-       sges_size = txq->max_sges * sizeof(*txq->sges);
-       txq->sges = devm_kzalloc(&netdev->dev, sges_size, GFP_KERNEL);
+       txq->sges = devm_kcalloc(&netdev->dev, txq->max_sges,
+                                sizeof(*txq->sges), GFP_KERNEL);
        if (!txq->sges)
                return -ENOMEM;
 
-       sges_size = txq->max_sges * sizeof(*txq->free_sges);
-       txq->free_sges = devm_kzalloc(&netdev->dev, sges_size, GFP_KERNEL);
+       txq->free_sges = devm_kcalloc(&netdev->dev, txq->max_sges,
+                                     sizeof(*txq->free_sges), GFP_KERNEL);
        if (!txq->free_sges) {
                err = -ENOMEM;
                goto err_alloc_free_sges;