[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250607130616.514984-1-yi.sun@intel.com>
Date: Sat, 7 Jun 2025 21:06:14 +0800
From: Yi Sun <yi.sun@...el.com>
To: vinicius.gomes@...el.com,
dmaengine@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: yi.sun@...el.com,
gordon.jin@...el.com
Subject: [PATCH v2 0/2] dmaengine: idxd: Fix refcount and cleanup issues on module unload
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 when paired with asynchronous put_device().
Patch 2 refactors the cleanup path 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 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 | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--
2.43.0
Powered by blists - more mailing lists