* [PATCH] iommufd: Fix event queue release use-after-free
@ 2026-10-14 13:36 Nirmoy Das
2026-10-15 0:45 ` Jason Gunthorpe
0 siblings, 1 reply; 2+ messages in thread
From: Nirmoy Das @ 2026-10-14 13:36 UTC (permalink / raw)
To: Jason Gunthorpe, Kevin Tian, iommu
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Lu Baolu, linux-kernel,
Nirmoy Das, stable
iommufd_eventq_fops_release() drops the file's users reference before
reading eventq->ictx. Once that reference is dropped, IOMMU_DESTROY in
another thread can remove and free the event queue, so the later load
accesses freed memory.
Read ictx while the users reference still pins the event queue, then
drop the reference and put the saved context. The context reference
taken by iommufd_eventq_init() keeps ictx valid until the put. Fault and
vEVENTQ file descriptors share this release path.
Fixes: 07838f7fd529 ("iommufd: Add iommufd fault object")
Cc: stable@vger.kernel.org
Assisted-by: LLM, Specula
Signed-off-by: Nirmoy Das <nirmoyd@nvidia.com>
---
drivers/iommu/iommufd/eventq.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/iommufd/eventq.c b/drivers/iommu/iommufd/eventq.c
index 747dd5155121cbe..b8a54454dd17c76 100644
--- a/drivers/iommu/iommufd/eventq.c
+++ b/drivers/iommu/iommufd/eventq.c
@@ -396,9 +396,11 @@ static __poll_t iommufd_eventq_fops_poll(struct file *filep,
static int iommufd_eventq_fops_release(struct inode *inode, struct file *filep)
{
struct iommufd_eventq *eventq = filep->private_data;
+ /* eventq may be freed once the users reference is dropped. */
+ struct iommufd_ctx *ictx = eventq->ictx;
refcount_dec(&eventq->obj.users);
- iommufd_ctx_put(eventq->ictx);
+ iommufd_ctx_put(ictx);
return 0;
}
base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] iommufd: Fix event queue release use-after-free
2026-10-14 13:36 [PATCH] iommufd: Fix event queue release use-after-free Nirmoy Das
@ 2026-10-15 0:45 ` Jason Gunthorpe
0 siblings, 0 replies; 2+ messages in thread
From: Jason Gunthorpe @ 2026-10-15 0:45 UTC (permalink / raw)
To: Jason Gunthorpe, Kevin Tian, iommu, Nirmoy Das
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Lu Baolu, linux-kernel, stable
On Wed, 14 Oct 2026 06:36:32 -0700, Nirmoy Das wrote:
> iommufd: Fix event queue release use-after-free
Applied, thanks!
[1/1] iommufd: Fix event queue release use-after-free
https://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git/commit/?id=440ca8a4b69f40088065b9e05ef11373292a254e
Best regards,
--
Jason
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-15 17:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-14 13:36 [PATCH] iommufd: Fix event queue release use-after-free Nirmoy Das
2026-10-15 0:45 ` Jason Gunthorpe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®