Loading Documentation/admin-guide/kernel-parameters.txt +9 −0 Original line number Diff line number Diff line Loading @@ -2675,6 +2675,15 @@ Kernel parameters 1 - Bypass the IOMMU for DMA. unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH. iommu.debug_pagealloc= [KNL,EARLY] When CONFIG_IOMMU_DEBUG_PAGEALLOC is set, this parameter enables the feature at boot time. By default, it is disabled and the system behaves the same way as a kernel built without CONFIG_IOMMU_DEBUG_PAGEALLOC. Format: { "0" | "1" } 0 - Sanitizer disabled. 1 - Sanitizer enabled, expect runtime overhead. io7= [HW] IO7 for Marvel-based Alpha systems See comment before marvel_specify_io7 in arch/alpha/kernel/core_marvel.c. Loading MAINTAINERS +1 −0 Original line number Diff line number Diff line Loading @@ -13251,6 +13251,7 @@ F: drivers/iommu/ F: include/linux/iommu.h F: include/linux/iova.h F: include/linux/of_iommu.h F: rust/kernel/iommu/ IOMMUFD M: Jason Gunthorpe <jgg@nvidia.com> Loading drivers/iommu/Kconfig +19 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,25 @@ config SPRD_IOMMU Say Y here if you want to use the multimedia devices listed above. config IOMMU_DEBUG_PAGEALLOC bool "Debug IOMMU mappings against page allocations" depends on DEBUG_PAGEALLOC && IOMMU_API && PAGE_EXTENSION help This enables a consistency check between the kernel page allocator and the IOMMU subsystem. It verifies that pages being allocated or freed are not currently mapped in any IOMMU domain. This helps detect DMA use-after-free bugs where a driver frees a page but forgets to unmap it from the IOMMU, potentially allowing a device to overwrite memory that the kernel has repurposed. These checks are best-effort and may not detect all problems. Due to performance overhead, this feature is disabled by default. You must enable "iommu.debug_pagealloc" from the kernel command line to activate the runtime checks. If unsure, say N. endif # IOMMU_SUPPORT source "drivers/iommu/generic_pt/Kconfig" drivers/iommu/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -36,3 +36,4 @@ obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o obj-$(CONFIG_SPRD_IOMMU) += sprd-iommu.o obj-$(CONFIG_APPLE_DART) += apple-dart.o obj-$(CONFIG_IOMMU_DEBUG_PAGEALLOC) += iommu-debug-pagealloc.o drivers/iommu/amd/Kconfig +10 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,16 @@ config AMD_IOMMU your BIOS for an option to enable it or if you have an IVRS ACPI table. config AMD_IOMMU_IOMMUFD bool "Enable IOMMUFD features for AMD IOMMU (EXPERIMENTAL)" depends on IOMMUFD depends on AMD_IOMMU help Support for IOMMUFD features intended to support virtual machines with accelerated virtual IOMMUs. Say Y here if you are doing development and testing on this feature. config AMD_IOMMU_DEBUGFS bool "Enable AMD IOMMU internals in DebugFS" depends on AMD_IOMMU && IOMMU_DEBUGFS Loading Loading
Documentation/admin-guide/kernel-parameters.txt +9 −0 Original line number Diff line number Diff line Loading @@ -2675,6 +2675,15 @@ Kernel parameters 1 - Bypass the IOMMU for DMA. unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH. iommu.debug_pagealloc= [KNL,EARLY] When CONFIG_IOMMU_DEBUG_PAGEALLOC is set, this parameter enables the feature at boot time. By default, it is disabled and the system behaves the same way as a kernel built without CONFIG_IOMMU_DEBUG_PAGEALLOC. Format: { "0" | "1" } 0 - Sanitizer disabled. 1 - Sanitizer enabled, expect runtime overhead. io7= [HW] IO7 for Marvel-based Alpha systems See comment before marvel_specify_io7 in arch/alpha/kernel/core_marvel.c. Loading
MAINTAINERS +1 −0 Original line number Diff line number Diff line Loading @@ -13251,6 +13251,7 @@ F: drivers/iommu/ F: include/linux/iommu.h F: include/linux/iova.h F: include/linux/of_iommu.h F: rust/kernel/iommu/ IOMMUFD M: Jason Gunthorpe <jgg@nvidia.com> Loading
drivers/iommu/Kconfig +19 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,25 @@ config SPRD_IOMMU Say Y here if you want to use the multimedia devices listed above. config IOMMU_DEBUG_PAGEALLOC bool "Debug IOMMU mappings against page allocations" depends on DEBUG_PAGEALLOC && IOMMU_API && PAGE_EXTENSION help This enables a consistency check between the kernel page allocator and the IOMMU subsystem. It verifies that pages being allocated or freed are not currently mapped in any IOMMU domain. This helps detect DMA use-after-free bugs where a driver frees a page but forgets to unmap it from the IOMMU, potentially allowing a device to overwrite memory that the kernel has repurposed. These checks are best-effort and may not detect all problems. Due to performance overhead, this feature is disabled by default. You must enable "iommu.debug_pagealloc" from the kernel command line to activate the runtime checks. If unsure, say N. endif # IOMMU_SUPPORT source "drivers/iommu/generic_pt/Kconfig"
drivers/iommu/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -36,3 +36,4 @@ obj-$(CONFIG_IOMMU_SVA) += iommu-sva.o obj-$(CONFIG_IOMMU_IOPF) += io-pgfault.o obj-$(CONFIG_SPRD_IOMMU) += sprd-iommu.o obj-$(CONFIG_APPLE_DART) += apple-dart.o obj-$(CONFIG_IOMMU_DEBUG_PAGEALLOC) += iommu-debug-pagealloc.o
drivers/iommu/amd/Kconfig +10 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,16 @@ config AMD_IOMMU your BIOS for an option to enable it or if you have an IVRS ACPI table. config AMD_IOMMU_IOMMUFD bool "Enable IOMMUFD features for AMD IOMMU (EXPERIMENTAL)" depends on IOMMUFD depends on AMD_IOMMU help Support for IOMMUFD features intended to support virtual machines with accelerated virtual IOMMUs. Say Y here if you are doing development and testing on this feature. config AMD_IOMMU_DEBUGFS bool "Enable AMD IOMMU internals in DebugFS" depends on AMD_IOMMU && IOMMU_DEBUGFS Loading