Re: [PATCH] iommu/amd: Ensure GA log notifier callbacks finish running before module unload

From: Sean Christopherson

Date: Tue Oct 07 2025 - 13:54:44 EST


On Thu, Sep 18, 2025, Hou Wenlong wrote:
> On Fri, Mar 14, 2025 at 08:10:48PM -0700, Sean Christopherson wrote:
> > Synchronize RCU when unregistering KVM's GA log notifier to ensure all
> > in-flight interrupt handlers complete before KVM-the module is unloaded.
> >
> > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> > ---
> > drivers/iommu/amd/iommu.c | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
> > index b48a72bd7b23..b314523d9194 100644
> > --- a/drivers/iommu/amd/iommu.c
> > +++ b/drivers/iommu/amd/iommu.c
> > @@ -982,6 +982,14 @@ int amd_iommu_register_ga_log_notifier(int (*notifier)(u32))
> > {
> > iommu_ga_log_notifier = notifier;
> >
> > + /*
> > + * Ensure all in-flight IRQ handlers run to completion before returning
> > + * to the caller, e.g. to ensure module code isn't unloaded while it's
> > + * being executed in the IRQ handler.
> > + */
> > + if (!notifier)
> > + synchronize_rcu();
> > +
> > return 0;
> > }
> > EXPORT_SYMBOL(amd_iommu_register_ga_log_notifier);
> >
> > base-commit: ea9bd29a9c0d757b3384ae3e633e6bbaddf00725
> > --
> > 2.49.0.rc1.451.g8f38331e32-goog
> >
> >
> Hi Sean,
>
> Sorry to bother you. I'm reworking the hardware_setup() path in our
> internal multi-KVM, but I didn't see any usage of
> 'amd_iommu_register_ga_log_notifier(NULL)' in the KVM code for now. Has
> it not been committed?

Huh. I completely forgot to send (or even write?) the patch. I'll send one
shortly.

Thanks much!