Re: [PATCH v3 05/11] dmaengine: switchtec-dma: make switchtec_dma_chans_release() void
[email protected] Mon, 27 Jul 2026 19:15:19 +0000
| Newsgroups | org.kernel.vger.dmaengine,org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] This problem wasn't introduced by this patch, but there is a missing NULL check for ioremap() in switchtec_dma_create(). -- --- Patch [5]: [PATCH v3 05/11] dmaengine: switchtec-dma: make switchtec_dma_chans_release() void --- commit a207649bc05f965ee7cc3627c9764631e52253cb Author: Logan Gunthorpe <[email protected]> dmaengine: switchtec-dma: make switchtec_dma_chans_release() void This commit updates the return type of switchtec_dma_chans_release() to void, as the function always returned 0 and its return value was never checked by callers. > diff --git a/drivers/dma/switchtec_dma.c b/drivers/dma/switchtec_dma.c > index 13efd4189bbb4..c752a1b05871d 100644 > --- a/drivers/dma/switchtec_dma.c > +++ b/drivers/dma/switchtec_dma.c > @@ -1165,15 +1165,13 @@ static int switchtec_dma_chan_free(struct pci_dev *pdev, [ ... ] > -static int switchtec_dma_chans_release(struct pci_dev *pdev, > - struct switchtec_dma_dev *swdma_dev) > +static void switchtec_dma_chans_release(struct pci_dev *pdev, > + struct switchtec_dma_dev *swdma_dev) > { > int i; > > for (i = 0; i < swdma_dev->chan_cnt; i++) > switchtec_dma_chan_free(pdev, swdma_dev->swdma_chans[i]); > - > - return 0; > } [Severity: High] This is a pre-existing issue, but while reviewing this file I noticed a missing NULL check for ioremap() in switchtec_dma_create(): swdma_dev->bar = ioremap(pci_resource_start(pdev, 0), pci_resource_len(pdev, 0)); RCU_INIT_POINTER(swdma_dev->pdev, pdev); nr_vecs = pci_msix_vec_count(pdev); rc = pci_alloc_irq_vectors(pdev, nr_vecs, nr_vecs, PCI_IRQ_MSIX); if (rc < 0) goto err_exit; irq = readw(swdma_dev->bar + SWITCHTEC_REG_CHAN_STS_VEC); If ioremap() fails during device probe and returns NULL, does this cause a kernel panic when swdma_dev->bar is dereferenced by readw()? -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=5