lkml.org 
[lkml]   [2020]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.7 028/388] PCI: endpoint: functions/pci-epf-test: Fix DMA channel release
    Date
    From: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

    [ Upstream commit 0e86d981f9b7252e9716c5137cd8e4d9ad8ef32f ]

    When unbinding pci_epf_test, pci_epf_test_clean_dma_chan() is called in
    pci_epf_test_unbind() even though epf_test->dma_supported is false.

    As a result, dma_release_channel() will trigger a NULL pointer
    dereference because dma_chan is not set.

    Avoid calling dma_release_channel() if epf_test->dma_supported
    is false.

    Link: https://lore.kernel.org/r/1587540287-10458-1-git-send-email-hayashi.kunihiko@socionext.com
    Fixes: 5ebf3fc59bd2 ("PCI: endpoint: functions/pci-epf-test: Add DMA support to transfer data")
    Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
    [lorenzo.pieralisi@arm.com: commit log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/endpoint/functions/pci-epf-test.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
    index 60330f3e3751..c89a9561439f 100644
    --- a/drivers/pci/endpoint/functions/pci-epf-test.c
    +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
    @@ -187,6 +187,9 @@ static int pci_epf_test_init_dma_chan(struct pci_epf_test *epf_test)
    */
    static void pci_epf_test_clean_dma_chan(struct pci_epf_test *epf_test)
    {
    + if (!epf_test->dma_supported)
    + return;
    +
    dma_release_channel(epf_test->dma_chan);
    epf_test->dma_chan = NULL;
    }
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-06-18 04:53    [W:7.174 / U:1.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site