]> www.infradead.org Git - users/hch/misc.git/commit
iommu/vt-d: Fix incorrect pci_for_each_dma_alias() for non-PCI devices
authorLu Baolu <baolu.lu@linux.intel.com>
Mon, 14 Oct 2024 01:37:44 +0000 (09:37 +0800)
committerJoerg Roedel <jroedel@suse.de>
Tue, 15 Oct 2024 08:17:54 +0000 (10:17 +0200)
commit6e02a277f1db24fa039e23783c8921c7b0e5b1b3
tree551d0f1388d929753564d6746ad86a7b0ca481a1
parent8e8a69bc776ad7d70357237d5a67bc904c4193aa
iommu/vt-d: Fix incorrect pci_for_each_dma_alias() for non-PCI devices

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@intel.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219363
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219349
Fixes: 9a16ab9d6402 ("iommu/vt-d: Make context clearing consistent with context mapping")
Cc: stable@vger.kernel.org
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/20241014013744.102197-2-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel/iommu.c