DMA Engine development
 help / color / mirror / Atom feed
* [PATCH RESEND v3 0/2] dmaengine: idxd: Fix refcount and cleanup issues on module unload
@ 2025-07-29 15:03 Yi Sun
  2025-07-29 15:03 ` [PATCH v3 RESEND 1/2] dmaengine: idxd: Remove improper idxd_free Yi Sun
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Yi Sun @ 2025-07-29 15:03 UTC (permalink / raw)
  To: vinicius.gomes, vkoul, dave.jiang, fenghuay, xueshuai
  Cc: dmaengine, linux-kernel, yi.sun, gordon.jin

This patch series addresses two issues related to the device reference
counting and cleanup path in the idxd driver.

Recent changes introduced improper put_device() calls and duplicated
cleanup logic, leading to refcount underflow and potential use-after-free
during module unload.

Patch 1 removes an unnecessary call to idxd_free(), which could result in a
use-after-free, because the function idxd_conf_device_release already
covers everything done in idxd_free. The newly added idxd_free in commit
90022b3 doesn't resolve any memory leaks, but introduces several duplicated
cleanup.

Patch 2 refactors the cleanup to avoid redundant put_device() calls
introduced in commit a409e919ca3. The existing idxd_unregister_devices()
already handles proper device reference release.

Both patches have been verified on hardware platform.

Both patches have been run through `checkpatch.pl`. Patch 2 gets 1 error
and 1 warning. But these appear to be limitations in the checkpatch script
itself, not reflect issues with the patches.

---
Changes in V3:
- Removed function idxd_disable_sva which got removed recently (Vinicius)
Changes in v2:
- Reworded commit messages supplementing the call traces (Vinicius)
- Explain why the put_device are unnecessary. (Vinicius)

Yi Sun (2):
  dmaengine: idxd: Remove improper idxd_free
  dmaengine: idxd: Fix refcount underflow on module unload

 drivers/dma/idxd/init.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

-- 
2.43.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-08-20 17:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-29 15:03 [PATCH RESEND v3 0/2] dmaengine: idxd: Fix refcount and cleanup issues on module unload Yi Sun
2025-07-29 15:03 ` [PATCH v3 RESEND 1/2] dmaengine: idxd: Remove improper idxd_free Yi Sun
2025-07-29 15:03 ` [PATCH RESEND v3 2/2] dmaengine: idxd: Fix refcount underflow on module unload Yi Sun
2025-07-29 15:06 ` [PATCH RESEND v3 0/2] dmaengine: idxd: Fix refcount and cleanup issues " Dave Jiang
2025-07-31  1:09 ` Vinicius Costa Gomes
2025-08-12  2:17   ` Yi Sun
2025-08-12  8:05 ` Lai, Yi
2025-08-20 17:39 ` Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox