[RHEL9.8] Rebase IOMMU and DMA Mapping API subsystems to 6.17
Merge Request Required Information
JIRA: https://issues.redhat.com/browse/RHEL-114131
Upstream-Status: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Omitted-fix: 152f33ee30ee ("bus: fsl_mc: Fix driver_managed_dma check")
CONFIG_FSL_MC_BUS not enabled.
Omitted-fix: d88dfb756d55 ("agp/amd64: Check AGP Capability before binding to unsupported devices")
CONFIG_AGP_AMD64 not enabled.
Omitted-fix: 38e8844005e6 ("iommu/mediatek: Fix NULL pointer deference in mtk_iommu_device_group")
CONFIG_MTK_IOMMU not enabled.
Omitted-fix: 99deffc409b6 ("iommu/exynos: Fix suspend/resume with IDENTITY domain")
CONFIG_EXYNOS_IOMMU not enabled.
Omitted-fix: d41d75fe1b75 ("crypto: qat - fix DMA direction for compression on GEN2 devices")
Being merged in crypto MR.
Omitted-fix: f48dcda8f6a4 ("iommu/rockchip: Allocate per-device data sensibly")
CONFIG_ROCKHIP_IOMMU not enabled.
Omitted-fix: f90aa59eb299 ("iommu/rockchip: Register in a sensible order")
CONFIG_ROCKCHIP_IOMMU not enabled.
Omitted-fix: ac84ff453305 ("iommufd/driver: Fix counter initialization for counted_by annotation")
Omitted-fix: b07bf253ef8e ("iommufd/iommufd_private.h: Avoid -Wflex-array-member-not-at-end warning")
CVE: CVE-2025-39966
CVE: CVE-2025-39961
CVE: CVE-2025-38676
CVE: CVE-2025-38688
CVE: CVE-2025-39739
CVE: CVE-2025-38594
CVE: CVE-2025-38216
CVE: CVE-2025-37900
CVE: CVE-2025-37927
CVE: CVE-2025-37837
CVE: CVE-2025-37877
CVE: CVE-2025-38062
Depends: !7597 (merged)
Summary of Changes
Key Subsystems Modified:
- IOMMU core (48 commits) - Framework improvements and API changes
- IOMMUFD (45 commits) - Userspace interface enhancements
- Intel VT-d (35 commits) - Driver fixes and improvements
- AMD IOMMU (31 commits) - Bug fixes and new features
- ARM SMMU (18 commits) - v3 driver updates and Qualcomm variants
- DMA mapping - Infrastructure changes and encryption helpers
Major Feature Additions:
1. Virtual IOMMU (viommu) Support (~21 commits)
- New virtualization infrastructure for nested translation
- vDevice and vEventQ support for guest isolation
- ARM SMMU-v3 and Tegra241 CMDQV viommu implementations
2. Event Queue Infrastructure
- Abstracted fault handling into generic eventq framework
- New IOMMUFD_OBJ_VEVENTQ and VEVENTQ_ALLOC commands
- Support for both fault events and vendor-specific events
3. MSI/Interrupt Handling Refactor
- Native sw_msi support in IOMMUFD
- Consolidated MSI domain handling across irqchips
- Removed IOVA cookie indirection
Bug Fixes: ~53 commits addressing race conditions, memory leaks, crashes, and overflow issues across multiple IOMMU drivers
Testing: Extensive selftest additions (~24 commits) for new IOMMUFD features
Code Impact: 117 files changed, +8,307/-3,195 lines (net +5,112 lines)
Signed-off-by: Jerry Snitselaar jsnitsel@redhat.com