platform_kernel-5.15/drivers/iommu/intel
Lu Baolu af89d886ed iommu/vt-d: Drop stop marker messages
commit da8669ff41fa31573375c9a4180f5c080677204b upstream.

The page fault handling framework in the IOMMU core explicitly states
that it doesn't handle PCI PASID Stop Marker and the IOMMU drivers must
discard them before reporting faults. This handles Stop Marker messages
in prq_event_thread() before reporting events to the core.

The VT-d driver explicitly drains the pending page requests when a CPU
page table (represented by a mm struct) is unbound from a PASID according
to the procedures defined in the VT-d spec. The Stop Marker messages do
not need a response. Hence, it is safe to drop the Stop Marker messages
silently if any of them is found in the page request queue.

Fixes: d5b9e4bfe0 ("iommu/vt-d: Report prq to io-pgfault framework")
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20220421113558.3504874-1-baolu.lu@linux.intel.com
Link: https://lore.kernel.org/r/20220423082330.3897867-2-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-12 12:30:12 +02:00
..
Kconfig iommu/vt-d: Enable Intel IOMMU scalable mode by default 2021-08-19 10:41:08 +02:00
Makefile iommu/vt-d: Add common code for dmar latency performance monitors 2021-06-10 09:06:13 +02:00
cap_audit.c iommu/vt-d: Move capability check code to cap_audit files 2021-02-04 14:42:00 +01:00
cap_audit.h iommu/vt-d: Move capability check code to cap_audit files 2021-02-04 14:42:00 +01:00
debugfs.c iommu/vt-d: Expose latency monitor data through debugfs 2021-06-10 09:06:13 +02:00
dmar.c iommu/vt-d: Drop "0x" prefix from PCI bus & device addresses 2021-09-28 11:41:11 +02:00
iommu.c iommu/vt-d: Calculate mask for non-aligned flushes 2022-05-12 12:30:03 +02:00
irq_remapping.c iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() 2022-02-08 18:34:07 +01:00
pasid.c Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next 2021-08-20 17:14:35 +02:00
pasid.h Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d' and 'core' into next 2021-08-20 17:14:35 +02:00
perf.c iommu/vt-d: Drop the kernel doc annotation 2021-08-19 10:41:08 +02:00
perf.h iommu/vt-d: Add common code for dmar latency performance monitors 2021-06-10 09:06:13 +02:00
svm.c iommu/vt-d: Drop stop marker messages 2022-05-12 12:30:12 +02:00
trace.c