lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2siidejxg252y5jsrevsx3pcfijzvtw5a76ct4ysajzllxxofl@surpwwn4naps>
Date: Mon, 1 Dec 2025 14:15:43 +0100
From: Joerg Roedel <joro@...tes.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Will Deacon <will@...nel.org>, linux-kernel@...r.kernel.org, 
	iommu@...ts.linux.dev
Subject: [git pull] IOMMU Updates for Linux v6.19

Hi Linus,

The following changes since commit ac3fd01e4c1efce8f2c054cdeb2ddd2fc0fb150d:

  Linux 6.18-rc7 (2025-11-23 14:53:16 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git tags/iommu-updates-v6.19

for you to fetch changes up to 0d081b16946ef449fcb35b6edc1ef6f9fea6f0a0:

  Merge branches 'arm/smmu/updates', 'arm/smmu/bindings', 'mediatek', 'nvidia/tegra', 'intel/vt-d', 'amd/amd-vi' and 'core' into next (2025-11-28 08:44:21 +0100)

----------------------------------------------------------------
IOMMU Updates for Linux v6.19

Including:

	- Introduction of the generic IO page-table framework with support for
	  Intel and AMD IOMMU formats from Jason. This has good potential for
	  unifying more IO page-table implementations and making future
	  enhancements more easy. But this also needed quite some fixes during
	  development. All known issues have been fixed, but my feeling is that
	  there is a higher potential than usual that more might be needed.

	- Intel VT-d updates:
	  - Use right invalidation hint in qi_desc_iotlb().

	  - Reduce the scope of INTEL_IOMMU_FLOPPY_WA.

	- ARM-SMMU updates:
	  - Qualcomm device-tree binding updates for Kaanapali and Glymur SoCs
	    and a new clock for the TBU.

	  - Fix error handling if level 1 CD table allocation fails.

	  - Permit more than the architectural maximum number of SMRs for funky
	    Qualcomm mis-implementations of SMMUv2.

	- Mediatek driver:
	  - MT8189 iommu support.

	- Move ARM IO-pgtable selftests to kunit.

	- Device leak fixes for a couple of drivers.

	- Random smaller fixes and improvements.

----------------------------------------------------------------
Aashish Sharma (1):
      iommu/vt-d: Fix unused invalidation hint in qi_desc_iotlb

Abel Vesa (1):
      iommu/arm-smmu-qcom: Add Glymur MDSS compatible

Alejandro Jimenez (1):
      iommu/amd: Use the generic iommu page table

Bagas Sanjaya (3):
      Documentation: genpt: Don't use code block marker before iommu_amdv1.c include listing
      iommupt: Describe @bitnr parameter
      iommupt: Actually correct pt_test_sw_bit_{acquire_release}() parameter description

Dheeraj Kumar Srivastava (1):
      iommu/amd: Enhance "Completion-wait Time-out" error message

Geert Uytterhoeven (1):
      genpt: Make GENERIC_PT invisible

Jason Gunthorpe (31):
      iommu: Generic support for RMRs during device release
      genpt: Generic Page Table base API
      genpt: Add Documentation/ files
      iommupt: Add the basic structure of the iommu implementation
      iommupt: Add the AMD IOMMU v1 page table format
      iommupt: Add iova_to_phys op
      iommupt: Add unmap_pages op
      iommupt: Add map_pages op
      iommupt: Add read_and_clear_dirty op
      iommupt: Add a kunit test for Generic Page Table
      iommupt: Add a mock pagetable format for iommufd selftest to use
      iommufd: Change the selftest to use iommupt instead of xarray
      iommupt: Add the x86 64 bit page table format
      iommu/amd: Remove AMD io_pgtable support
      iommupt: Add a kunit test for the IOMMU implementation
      iommu/pages: Add support for incoherent IOMMU page table walkers
      iommupt: Add basic support for SW bits in the page table
      iommupt: Use the incoherent start/stop functions for PT_FEAT_DMA_INCOHERENT
      iommupt: Flush the CPU cache after any writes to the page table
      iommupt: Add the Intel VT-d second stage page table format
      iommupt/x86: Set the dirty bit only for writable PTEs
      iommupt/x86: Support SW bits and permit PT_FEAT_DMA_INCOHERENT
      iommu/vt-d: Use the generic iommu page table
      iommu/vt-d: Follow PT_FEAT_DMA_INCOHERENT into the PASID entry
      iommupt: Add a kunit test for the SW bits
      iommupt: Documentation fixes
      iommupt: Fix unlikely flows in increase_top()
      iommupt: Avoid a compiler bug with sw_bit
      powerpc/pseries/svm: Make mem_encrypt.h self contained
      iommupt/vtd: Allow VT-d to have a larger table top than the vasz requires
      iommupt/vtd: Support mgaw's less than a 4 level walk for first stage

Jean-Philippe Brucker (1):
      MAINTAINERS: Update my email address

Jingyi Wang (1):
      dt-bindings: arm-smmu: Add compatible for Kaanapali and Glymur SoCs

Jinhui Guo (2):
      iommu/amd: Fix pci_segment memleak in alloc_pci_segment()
      iommu/amd: Propagate the error code returned by __modify_irte_ga() in modify_irte_ga()

Joerg Roedel (2):
      iommu/iommupt: Fix build error in genericpt unit-tests
      Merge branches 'arm/smmu/updates', 'arm/smmu/bindings', 'mediatek', 'nvidia/tegra', 'intel/vt-d', 'amd/amd-vi' and 'core' into next

Johan Hovold (16):
      amba: tegra-ahb: enable compile testing
      iommu: tegra: enable compile testing
      iommu/apple-dart: fix device leak on of_xlate()
      iommu/qcom: fix device leak on of_xlate()
      iommu/exynos: fix device leak on of_xlate()
      iommu/ipmmu-vmsa: fix device leak on of_xlate()
      iommu/mediatek: fix device leak on of_xlate()
      iommu/mediatek: fix use-after-free on probe deferral
      iommu/mediatek: simplify dt parsing error handling
      iommu/mediatek-v1: fix device leak on probe_device()
      iommu/mediatek-v1: fix device leaks on probe()
      iommu/mediatek-v1: add missing larb count sanity check
      iommu/omap: fix device leaks on probe_device()
      iommu/omap: simplify probe_device() error handling
      iommu/sun50i: fix device leak on of_xlate()
      iommu/tegra: fix device leak on probe_device()

Konrad Dybcio (1):
      dt-bindings: iommu: qcom_iommu: Allow 'tbu' clock

Lu Baolu (1):
      iommu/vt-d: Restore previous domain::aperture_end calculation

Mostafa Saleh (4):
      iommu/io-pgtable-arm: Remove arm_lpae_dump_ops()
      iommu/io-pgtable-arm: Move selftests to a separate file
      iommu/io-pgtable-arm-selftests: Modularize the test
      iommu/io-pgtable-arm-selftests: Use KUnit

Nicolin Chen (5):
      iommu/arm-smmu-v3: Set release_domain to arm_smmu_blocked_domain
      iommu/exynos-iommu: Set release_domain to exynos_identity_domain
      iommu/amd: Set release_domain to blocked_domain
      iommu: Do not revert set_domain for the last gdev
      iommu: Pass in old domain to attach_dev callback functions

Pedro Demarchi Gomes (1):
      iommu/pages: use folio_nr_pages() instead of shift operation

Ryan Huang (1):
      iommu/arm-smmu-v3: Fix error check in arm_smmu_alloc_cd_tables

Songtang Liu (1):
      iommu/amd: Fix potential out-of-bounds read in iommu_mmio_show

Stephan Gerhold (1):
      iommu/arm-smmu-qcom: Enable use of all SMR groups when running bare-metal

Vineeth Pillai (Google) (1):
      iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD

Zhengnan Chen (5):
      dt-bindings: mediatek: mt8189: Add bindings for MM & APU & INFRA IOMMU
      iommu/mediatek: Add a flag DL_WITH_MULTI_LARB
      iommu/mediatek: mt8189: Add APU IOMMUs support
      iommu/mediatek: mt8189: Add INFRA IOMMUs support
      iommu/mediatek: mt8189: Add MM IOMMUs support

 .clang-format                                      |    1 +
 .mailmap                                           |    3 +-
 .../devicetree/bindings/iommu/arm,smmu.yaml        |    2 +
 .../devicetree/bindings/iommu/mediatek,iommu.yaml  |    8 +
 .../devicetree/bindings/iommu/qcom,iommu.yaml      |    4 +
 Documentation/driver-api/generic_pt.rst            |  137 +++
 Documentation/driver-api/index.rst                 |    1 +
 MAINTAINERS                                        |    6 +-
 arch/powerpc/include/asm/mem_encrypt.h             |    3 +
 arch/powerpc/kernel/iommu.c                        |    5 +-
 drivers/amba/Kconfig                               |    2 +-
 drivers/iommu/Kconfig                              |   15 +-
 drivers/iommu/Makefile                             |    2 +
 drivers/iommu/amd/Kconfig                          |    5 +-
 drivers/iommu/amd/Makefile                         |    2 +-
 drivers/iommu/amd/amd_iommu.h                      |    1 -
 drivers/iommu/amd/amd_iommu_types.h                |  114 +-
 drivers/iommu/amd/debugfs.c                        |    2 +-
 drivers/iommu/amd/init.c                           |   15 +-
 drivers/iommu/amd/io_pgtable.c                     |  577 ---------
 drivers/iommu/amd/io_pgtable_v2.c                  |  370 ------
 drivers/iommu/amd/iommu.c                          |  572 ++++-----
 drivers/iommu/apple-dart.c                         |   11 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c    |    5 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        |   33 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |   28 +-
 drivers/iommu/arm/arm-smmu/arm-smmu.c              |    9 +-
 drivers/iommu/arm/arm-smmu/qcom_iommu.c            |   21 +-
 drivers/iommu/exynos-iommu.c                       |   20 +-
 drivers/iommu/fsl_pamu_domain.c                    |   12 +-
 drivers/iommu/generic_pt/.kunitconfig              |   14 +
 drivers/iommu/generic_pt/Kconfig                   |   79 ++
 drivers/iommu/generic_pt/fmt/Makefile              |   28 +
 drivers/iommu/generic_pt/fmt/amdv1.h               |  411 +++++++
 drivers/iommu/generic_pt/fmt/defs_amdv1.h          |   21 +
 drivers/iommu/generic_pt/fmt/defs_vtdss.h          |   21 +
 drivers/iommu/generic_pt/fmt/defs_x86_64.h         |   21 +
 drivers/iommu/generic_pt/fmt/iommu_amdv1.c         |   15 +
 drivers/iommu/generic_pt/fmt/iommu_mock.c          |   10 +
 drivers/iommu/generic_pt/fmt/iommu_template.h      |   48 +
 drivers/iommu/generic_pt/fmt/iommu_vtdss.c         |   10 +
 drivers/iommu/generic_pt/fmt/iommu_x86_64.c        |   11 +
 drivers/iommu/generic_pt/fmt/vtdss.h               |  285 +++++
 drivers/iommu/generic_pt/fmt/x86_64.h              |  279 +++++
 drivers/iommu/generic_pt/iommu_pt.h                | 1289 ++++++++++++++++++++
 drivers/iommu/generic_pt/kunit_generic_pt.h        |  823 +++++++++++++
 drivers/iommu/generic_pt/kunit_iommu.h             |  184 +++
 drivers/iommu/generic_pt/kunit_iommu_pt.h          |  487 ++++++++
 drivers/iommu/generic_pt/pt_common.h               |  389 ++++++
 drivers/iommu/generic_pt/pt_defs.h                 |  332 +++++
 drivers/iommu/generic_pt/pt_fmt_defaults.h         |  295 +++++
 drivers/iommu/generic_pt/pt_iter.h                 |  636 ++++++++++
 drivers/iommu/generic_pt/pt_log2.h                 |  122 ++
 drivers/iommu/intel/Kconfig                        |    6 +-
 drivers/iommu/intel/iommu.c                        |  931 +++-----------
 drivers/iommu/intel/iommu.h                        |   99 +-
 drivers/iommu/intel/nested.c                       |    7 +-
 drivers/iommu/intel/pasid.c                        |   44 +-
 drivers/iommu/intel/pasid.h                        |    1 +
 drivers/iommu/intel/svm.c                          |    1 +
 drivers/iommu/io-pgtable-arm-selftests.c           |  214 ++++
 drivers/iommu/io-pgtable-arm.c                     |  203 ---
 drivers/iommu/io-pgtable.c                         |    4 -
 drivers/iommu/iommu-pages.c                        |  136 ++-
 drivers/iommu/iommu-pages.h                        |   51 +-
 drivers/iommu/iommu.c                              |   44 +-
 drivers/iommu/iommufd/Kconfig                      |    1 +
 drivers/iommu/iommufd/iommufd_test.h               |   11 +-
 drivers/iommu/iommufd/selftest.c                   |  426 +++----
 drivers/iommu/ipmmu-vmsa.c                         |   12 +-
 drivers/iommu/msm_iommu.c                          |   11 +-
 drivers/iommu/mtk_iommu.c                          |  174 ++-
 drivers/iommu/mtk_iommu_v1.c                       |   35 +-
 drivers/iommu/omap-iommu.c                         |   19 +-
 drivers/iommu/omap-iommu.h                         |    2 -
 drivers/iommu/riscv/iommu.c                        |    9 +-
 drivers/iommu/rockchip-iommu.c                     |   20 +-
 drivers/iommu/s390-iommu.c                         |   13 +-
 drivers/iommu/sprd-iommu.c                         |    3 +-
 drivers/iommu/sun50i-iommu.c                       |   10 +-
 drivers/iommu/tegra-smmu.c                         |   15 +-
 drivers/iommu/virtio-iommu.c                       |    6 +-
 .../memory/mediatek,mt8189-memory-port.h           |  283 +++++
 include/linux/generic_pt/common.h                  |  191 +++
 include/linux/generic_pt/iommu.h                   |  293 +++++
 include/linux/io-pgtable.h                         |    2 -
 include/linux/iommu.h                              |    3 +-
 include/linux/irqchip/riscv-imsic.h                |    3 +-
 tools/testing/selftests/iommu/iommufd.c            |   60 +-
 tools/testing/selftests/iommu/iommufd_utils.h      |   12 +
 90 files changed, 8284 insertions(+), 2867 deletions(-)
 create mode 100644 Documentation/driver-api/generic_pt.rst
 delete mode 100644 drivers/iommu/amd/io_pgtable.c
 delete mode 100644 drivers/iommu/amd/io_pgtable_v2.c
 create mode 100644 drivers/iommu/generic_pt/.kunitconfig
 create mode 100644 drivers/iommu/generic_pt/Kconfig
 create mode 100644 drivers/iommu/generic_pt/fmt/Makefile
 create mode 100644 drivers/iommu/generic_pt/fmt/amdv1.h
 create mode 100644 drivers/iommu/generic_pt/fmt/defs_amdv1.h
 create mode 100644 drivers/iommu/generic_pt/fmt/defs_vtdss.h
 create mode 100644 drivers/iommu/generic_pt/fmt/defs_x86_64.h
 create mode 100644 drivers/iommu/generic_pt/fmt/iommu_amdv1.c
 create mode 100644 drivers/iommu/generic_pt/fmt/iommu_mock.c
 create mode 100644 drivers/iommu/generic_pt/fmt/iommu_template.h
 create mode 100644 drivers/iommu/generic_pt/fmt/iommu_vtdss.c
 create mode 100644 drivers/iommu/generic_pt/fmt/iommu_x86_64.c
 create mode 100644 drivers/iommu/generic_pt/fmt/vtdss.h
 create mode 100644 drivers/iommu/generic_pt/fmt/x86_64.h
 create mode 100644 drivers/iommu/generic_pt/iommu_pt.h
 create mode 100644 drivers/iommu/generic_pt/kunit_generic_pt.h
 create mode 100644 drivers/iommu/generic_pt/kunit_iommu.h
 create mode 100644 drivers/iommu/generic_pt/kunit_iommu_pt.h
 create mode 100644 drivers/iommu/generic_pt/pt_common.h
 create mode 100644 drivers/iommu/generic_pt/pt_defs.h
 create mode 100644 drivers/iommu/generic_pt/pt_fmt_defaults.h
 create mode 100644 drivers/iommu/generic_pt/pt_iter.h
 create mode 100644 drivers/iommu/generic_pt/pt_log2.h
 create mode 100644 drivers/iommu/io-pgtable-arm-selftests.c
 create mode 100644 include/dt-bindings/memory/mediatek,mt8189-memory-port.h
 create mode 100644 include/linux/generic_pt/common.h
 create mode 100644 include/linux/generic_pt/iommu.h

Please pull.

Thanks,

	Joerg

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ