Re: [PATCH 1/1] iommu/vt-d: Fix incorrect pci_for_each_dma_alias() for non-PCI devices

From: Bjorn Helgaas
Date: Mon Oct 14 2024 - 13:10:22 EST


[+cc Marcin]

On Mon, Oct 14, 2024 at 09:39:20AM +0800, Baolu Lu wrote:
> On 2024/10/12 11:07, Lu Baolu wrote:
> > Previously, the domain_context_clear() function incorrectly called
> > pci_for_each_dma_alias() to set up context entries for non-PCI devices.
> > This could lead to kernel hangs or other unexpected behavior.
> >
> > Add a check to only call pci_for_each_dma_alias() for PCI devices. For
> > non-PCI devices, domain_context_clear_one() is called directly.
> >
> > Reported-by: Todd Brandt<todd.e.brandt@xxxxxxxxx>
> > Closes:https://bugzilla.kernel.org/show_bug.cgi?id=219363
> > Fixes: 9a16ab9d6402 ("iommu/vt-d: Make context clearing consistent with context mapping")
> > Cc:stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Lu Baolu<baolu.lu@xxxxxxxxxxxxxxx>
> > ---
> > drivers/iommu/intel/iommu.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
>
> Queued for v6.12-rc.

Please include information about Marcin's report as well (assuming it
is the same problem). Marcin did a LOT of work to report and bisect
this, so both should be acknowledged here.

See https://bugzilla.kernel.org/show_bug.cgi?id=219349

Bjorn