Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle and, audited and
fixed manually.

Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
 drivers/dma/hisi_dma.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/dma/hisi_dma.c b/drivers/dma/hisi_dma.c
index ed3619266a48..e1a958ae7925 100644
--- a/drivers/dma/hisi_dma.c
+++ b/drivers/dma/hisi_dma.c
@@ -511,7 +511,6 @@ static int hisi_dma_probe(struct pci_dev *pdev, const 
struct pci_device_id *id)
        struct device *dev = &pdev->dev;
        struct hisi_dma_dev *hdma_dev;
        struct dma_device *dma_dev;
-       size_t dev_size;
        int ret;
 
        ret = pcim_enable_device(pdev);
@@ -534,9 +533,7 @@ static int hisi_dma_probe(struct pci_dev *pdev, const 
struct pci_device_id *id)
        if (ret)
                return ret;
 
-       dev_size = sizeof(struct hisi_dma_chan) * HISI_DMA_CHAN_NUM +
-                  sizeof(*hdma_dev);
-       hdma_dev = devm_kzalloc(dev, dev_size, GFP_KERNEL);
+       hdma_dev = devm_kzalloc(dev, struct_size(hdma_dev, chan, 
HISI_DMA_CHAN_NUM), GFP_KERNEL);
        if (!hdma_dev)
                return -EINVAL;
 
-- 
2.27.0

Reply via email to