[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

Edited by Eder Zulian

Merge request reports

Loading