[PATCH v5 0/4] dmaengine: fix kref underflow and UAF in dma_chan_put()
Shivank Garg <[email protected]>
| Newsgroups | org.kernel.vger.dmaengine,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
Fix bugs related to dma_chan_put(), found while testing with SDXI[1]. [1]: https://lore.kernel.org/dmaengine/[email protected] Signed-off-by: Shivank Garg <[email protected]> --- Changes in v5: - Use int return type and add __must_check for dma_device_get() (Frank) - Drop the comment above synchronize_rcu() and note in the commit message that this will delay for grace period dma_list_mutex held (Logan) - Link to v4: https://lore.kernel.org/r/[email protected] Changes in v4: - Add dma_device_get() helper (Frank) - Drop dma_chan_put() move change (Frank) - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Add patch 3: add synchronize_rcu() to wait for RCU readers to prevent use-after-free. (Sashiko) - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Add patch 2 fixing the dma_chan_put()/dma_release_channel() use-after-free (sashiko) - Link to v1: https://lore.kernel.org/r/[email protected] --- Shivank Garg (4): dmaengine: add dma_device_get() helper dmaengine: Fix device kref underflow in dma_chan_put() dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel() dmaengine: wait for RCU readers before releasing dma_device drivers/dma/dmaengine.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) --- base-commit: a4ff2be345d0abc943da8dd8da98151843b750dc change-id: 20260518-dmaengine-kref-fix-7b21acb09455 Best regards, -- Shivank Garg <[email protected]>