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>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240719112138.GA22869@willie-the-truck>
Date: Fri, 19 Jul 2024 12:21:38 +0100
From: Will Deacon <will@...nel.org>
To: torvalds@...ux-foundation.org
Cc: joro@...tes.org, linux-kernel@...r.kernel.org, iommu@...ts.linux.dev
Subject: [GIT PULL] IOMMU Updates for Linux v6.11

Hi Linus,

Please pull these IOMMU updates for v6.11.

I've been looking after the IOMMU tree in Joerg's absence [1] for the
past few weeks and I was expecting him back at the start of this week to
send the pull. However, I've not heard from him at all and figured that
I may as well send this now rather than wait until the second week of
the merge window.

A few minor fixes have started showing up too, so I may end up sending
you a follow-up next week anyway.

A summary of all the changes is included in the tag.

Cheers,

Will

[1] https://lore.kernel.org/r/Zn6xFZanlWhN5kw3@8bytes.org

--->8

The following changes since commit 83a7eefedc9b56fe7bfeff13b6c7356688ffa670:

  Linux 6.10-rc3 (2024-06-09 14:19:43 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 8b6c32e831ef4496b51a68ddc5be9bb9e8d2337d:

  Merge branch 'iommu/iommufd/paging-domain-alloc' into iommu/next (2024-07-12 16:57:47 +0100)

----------------------------------------------------------------
IOMMU Updates for Linux v6.11

- Core:
  * Support for the "ats-supported" device-tree property.

  * Removal of the 'ops' field from 'struct iommu_fwspec'.

  * Introduction of iommu_paging_domain_alloc() and partial conversion
    of existing users.

  * Introduce 'struct iommu_attach_handle' and provide corresponding
    IOMMU interfaces which will be used by the IOMMUFD subsystem.

  * Remove stale documentation.

  * Add missing MODULE_DESCRIPTION() macro.

  * Misc cleanups.

- Allwinner Sun50i:
  * Ensure bypass mode is disabled on H616 SoCs.

  * Ensure page-tables are allocated below 4GiB for the 32-bit
    page-table walker.

  * Add new device-tree compatible strings.

- AMD Vi:
  * Use try_cmpxchg64() instead of cmpxchg64() when updating pte.

- Arm SMMUv2:
  * Print much more useful information on context faults.

  * Fix Qualcomm TBU probing when CONFIG_ARM_SMMU_QCOM_DEBUG=n.

  * Add new Qualcomm device-tree bindings.

- Arm SMMUv3:
  * Support for hardware update of access/dirty bits and reporting via
    IOMMUFD.

  * More driver rework from Jason, this time updating the PASID/SVA support
    to prepare for full IOMMUFD support.

  * Add missing MODULE_DESCRIPTION() macro.

  * Minor fixes and cleanups.

- NVIDIA Tegra:

  * Fix for benign fwspec initialisation issue exposed by rework on the
    core branch.

- Intel VT-d:

  * Use try_cmpxchg64() instead of cmpxchg64() when updating pte.

  * Use READ_ONCE() to read volatile descriptor status.

  * Remove support for handling Execute-Requested requests.

  * Avoid calling iommu_domain_alloc().

  * Minor fixes and refactoring.

- Qualcomm MSM:

  * Updates to the device-tree bindings.

----------------------------------------------------------------
Akhil P Oommen (1):
      dt-bindings: arm-smmu: Add X1E80100 GPU SMMU

Andre Przywara (3):
      iommu: sun50i: allocate page tables from below 4 GiB
      dt-bindings: iommu: add new compatible strings
      iommu: sun50i: Add H616 compatible string

Andy Shevchenko (1):
      iommu/arm-smmu-v3: Use *-y instead of *-objs in Makefile

Bjorn Andersson (1):
      dt-bindings: arm-smmu: Fix Qualcomm SC8180X binding

David Heidelberg (1):
      dt-bindings: iommu: Convert msm,iommu-v0 to yaml

Georgi Djakov (1):
      iommu/arm-smmu-qcom: Register the TBU driver in qcom_smmu_impl_init

Jacob Pan (1):
      iommu/vt-d: Handle volatile descriptor status read

Jason Gunthorpe (16):
      iommu/arm-smmu-v3: Convert to domain_alloc_sva()
      iommu/arm-smmu-v3: Start building a generic PASID layer
      iommu/arm-smmu-v3: Make smmu_domain->devices into an allocated list
      iommu/arm-smmu-v3: Make changing domains be hitless for ATS
      iommu/arm-smmu-v3: Add ssid to struct arm_smmu_master_domain
      iommu/arm-smmu-v3: Do not use master->sva_enable to restrict attaches
      iommu/arm-smmu-v3: Thread SSID through the arm_smmu_attach_*() interface
      iommu/arm-smmu-v3: Make SVA allocate a normal arm_smmu_domain
      iommu/arm-smmu-v3: Keep track of arm_smmu_master_domain for SVA
      iommu/arm-smmu-v3: Put the SVA mmu notifier in the smmu_domain
      iommu/arm-smmu-v3: Allow IDENTITY/BLOCKED to be set while PASID is used
      iommu/arm-smmu-v3: Test the STE S1DSS functionality
      iommu/arm-smmu-v3: Allow a PASID to be set when RID is IDENTITY/BLOCKED
      iommu/arm-smmu-v3: Allow setting a S1 domain to a PASID
      iommu/arm-smmu-v3: Do not zero the strtab twice
      iommu/arm-smmu-v3: Shrink the strtab l1_desc array

Jean-Philippe Brucker (4):
      iommu/arm-smmu-v3: Add feature detection for HTTU
      dt-bindings: PCI: generic: Add ats-supported property
      iommu/of: Support ats-supported device-tree property
      arm64: dts: fvp: Enable PCIe ATS for Base RevC FVP

Jeff Johnson (2):
      iommu/iova: Add missing MODULE_DESCRIPTION() macro
      iommu/arm-smmu-v3: add missing MODULE_DESCRIPTION() macro

Jernej Skrabec (1):
      iommu: sun50i: clear bypass register

Joao Martins (1):
      iommu/arm-smmu-v3: Add support for dirty tracking in domain alloc

Jon Pan-Doh (1):
      iommu/vt-d: Fix identity map bounds in si_domain_init()

Kunkun Jiang (1):
      iommu/arm-smmu-v3: Enable HTTU for stage1 with io-pgtable mapping

Lu Baolu (21):
      iommu: Make iommu_sva_domain_alloc() static
      iommu/vt-d: Remove comment for def_domain_type
      iommu/vt-d: Remove control over Execute-Requested requests
      iommu/vt-d: Downgrade warning for pre-enabled IR
      iommu/vt-d: Add helper to allocate paging domain
      iommu/vt-d: Add helper to flush caches for context change
      iommu/vt-d: Refactor PCI PRI enabling/disabling callbacks
      iommu: Introduce domain attachment handle
      iommu: Remove sva handle list
      iommu: Add attach handle to struct iopf_group
      iommu: Extend domain attach group with handle support
      iommu: Add iommu_paging_domain_alloc() interface
      iommufd: Use iommu_paging_domain_alloc()
      vfio/type1: Use iommu_paging_domain_alloc()
      vhost-vdpa: Use iommu_paging_domain_alloc()
      drm/msm: Use iommu_paging_domain_alloc()
      wifi: ath10k: Use iommu_paging_domain_alloc()
      wifi: ath11k: Use iommu_paging_domain_alloc()
      RDMA/usnic: Use iommu_paging_domain_alloc()
      iommu/vt-d: Limit max address mask to MAX_AGAW_PFN_WIDTH
      iommu/vt-d: Fix aligned pages in calculate_psi_aligned_address()

Mark-PK Tsai (1):
      docs: iommu: Remove outdated Documentation/userspace-api/iommu.rst

Mostafa Saleh (1):
      iommu/arm-smmu-v3: Avoid uninitialized asid in case of error

Neil Armstrong (1):
      dt-bindings: iommu: qcom,iommu: Add MSM8953 GPU IOMMU to SMMUv2 compatibles

Rob Clark (3):
      iommu/arm-smmu: Add CB prefix to register bitfields
      iommu/arm-smmu-qcom-debug: Do not print for handled faults
      iommu/arm-smmu: Pretty-print context fault related regs

Robin Murphy (6):
      iommu/dma: Prune redundant pgprot arguments
      iommu/mediatek-v1: Clean up redundant fwspec checks
      iommu: Resolve fwspec ops automatically
      ACPI: Retire acpi_iommu_fwspec_ops()
      OF: Simplify of_iommu_configure()
      iommu: Remove iommu_fwspec ops

Shameer Kolothum (3):
      iommu/arm-smmu-v3: Add support for domain_alloc_user fn
      iommu/io-pgtable-arm: Add read_and_clear_dirty() support
      iommu: Move IOMMU_DIRTY_NO_CLEAR define

Uros Bizjak (3):
      iommu/amd: Use try_cmpxchg64() in v2_alloc_pte()
      iommu/vt-d: Use try_cmpxchg64() in intel_pasid_get_entry()
      iommufd: Use atomic_long_try_cmpxchg() in incr_user_locked_vm()

Will Deacon (14):
      Merge branch 'for-joerg/arm-smmu/bindings' into for-joerg/arm-smmu/next
      Merge branch 'for-joerg/arm-smmu/updates' into for-joerg/arm-smmu/next
      iommu/tegra-smmu: Pass correct fwnode to iommu_fwspec_init()
      Merge branch 'iommu/allwinner/sun50i' into iommu/next
      Merge branch 'iommu/amd/amd-vi' into iommu/next
      Merge branch 'iommu/arm/smmu' into iommu/next
      Merge branch 'iommu/intel/vt-d' into iommu/next
      Merge branch 'iommu/nvidia/tegra' into iommu/next
      Merge branch 'iommu/qualcomm/msm' into iommu/next
      Merge branch 'iommu/core' into iommu/next
      Merge branch 'iommu/fwspec-ops-removal' into iommu/next
      Merge branch 'iommu/pci/ats' into iommu/next
      Merge branch 'iommu/iommufd/attach-handles' into iommu/next
      Merge branch 'iommu/iommufd/paging-domain-alloc' into iommu/next

Zhenhua Huang (1):
      iommu/arm-smmu-qcom: record reason for deferring probe

 .../bindings/iommu/allwinner,sun50i-h6-iommu.yaml  |   7 +-
 .../devicetree/bindings/iommu/arm,smmu.yaml        |   6 +-
 .../devicetree/bindings/iommu/msm,iommu-v0.txt     |  64 --
 .../bindings/iommu/qcom,apq8064-iommu.yaml         |  78 +++
 .../devicetree/bindings/iommu/qcom,iommu.yaml      |   1 +
 .../devicetree/bindings/pci/host-generic-pci.yaml  |   6 +
 Documentation/userspace-api/index.rst              |   1 -
 Documentation/userspace-api/iommu.rst              | 209 ------
 MAINTAINERS                                        |   1 -
 arch/arm64/boot/dts/arm/fvp-base-revc.dts          |   1 +
 drivers/acpi/arm64/iort.c                          |  19 +-
 drivers/acpi/scan.c                                |  36 +-
 drivers/acpi/viot.c                                |  11 +-
 drivers/dma/idxd/init.c                            |   2 +-
 drivers/gpu/drm/msm/msm_iommu.c                    |   7 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |   6 +-
 drivers/iommu/Kconfig                              |   1 +
 drivers/iommu/amd/io_pgtable_v2.c                  |   2 +-
 drivers/iommu/arm/arm-smmu-v3/Makefile             |   5 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c    | 431 +++---------
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c   | 117 +++-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        | 759 ++++++++++++++++-----
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h        |  63 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.c       |   2 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c   |  83 +--
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |  42 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h         |   2 +
 drivers/iommu/arm/arm-smmu/arm-smmu.c              |  77 ++-
 drivers/iommu/arm/arm-smmu/arm-smmu.h              |  67 +-
 drivers/iommu/arm/arm-smmu/qcom_iommu.c            |   4 +-
 drivers/iommu/dma-iommu.c                          |  16 +-
 drivers/iommu/intel/cache.c                        |   3 +-
 drivers/iommu/intel/dmar.c                         |   2 +-
 drivers/iommu/intel/iommu.c                        | 196 ++++--
 drivers/iommu/intel/iommu.h                        |  19 +-
 drivers/iommu/intel/irq_remapping.c                |   4 +-
 drivers/iommu/intel/pasid.c                        | 116 +++-
 drivers/iommu/intel/pasid.h                        |  10 -
 drivers/iommu/io-pgfault.c                         |  61 +-
 drivers/iommu/io-pgtable-arm.c                     | 119 +++-
 drivers/iommu/iommu-priv.h                         |  18 +
 drivers/iommu/iommu-sva.c                          |  48 +-
 drivers/iommu/iommu.c                              | 225 ++++--
 drivers/iommu/iommufd/hw_pagetable.c               |  10 +-
 drivers/iommu/iommufd/pages.c                      |   7 +-
 drivers/iommu/iova.c                               |   1 +
 drivers/iommu/mtk_iommu_v1.c                       |  12 +-
 drivers/iommu/of_iommu.c                           |  59 +-
 drivers/iommu/sun50i-iommu.c                       |  15 +-
 drivers/iommu/tegra-smmu.c                         |   2 +-
 drivers/net/wireless/ath/ath10k/snoc.c             |   6 +-
 drivers/net/wireless/ath/ath11k/ahb.c              |   6 +-
 drivers/of/device.c                                |  30 +-
 drivers/vfio/vfio_iommu_type1.c                    |   7 +-
 drivers/vhost/vdpa.c                               |  14 +-
 include/acpi/acpi_bus.h                            |   3 +-
 include/linux/io-pgtable.h                         |   3 +
 include/linux/iommu.h                              |  72 +-
 58 files changed, 1860 insertions(+), 1334 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iommu/msm,iommu-v0.txt
 create mode 100644 Documentation/devicetree/bindings/iommu/qcom,apq8064-iommu.yaml
 delete mode 100644 Documentation/userspace-api/iommu.rst

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ