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: <Ze7KrT5is81WGTRT@8bytes.org>
Date: Mon, 11 Mar 2024 10:11:09 +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.9

Hi Linus,

The following changes since commit 90d35da658da8cff0d4ecbb5113f5fac9d00eb72:

  Linux 6.8-rc7 (2024-03-03 13:02:52 -0800)

are available in the Git repository at:

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

for you to fetch changes up to f379a7e9c3b5c325ff550e911ea42092295695de:

  Merge branches 'arm/mediatek', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next (2024-03-08 09:05:59 +0100)

----------------------------------------------------------------
IOMMU Updates for Linux v6.9

Including:

	- Core changes:
	  - Constification of bus_type pointer
	  - Preparations for user-space page-fault delivery
	  - Use a named kmem_cache for IOVA magazines

	- Intel VT-d changes from Lu Baolu:
	  - Add RBTree to track iommu probed devices
	  - Add Intel IOMMU debugfs document
	  - Cleanup and refactoring

	- ARM-SMMU Updates from Will Deacon:
	  - Device-tree binding updates for a bunch of Qualcomm SoCs
	  - SMMUv2: Support for Qualcomm X1E80100 MDSS
	  - SMMUv3: Significant rework of the driver's STE manipulation and
	    domain handling code. This is the initial part of a larger scale
	    rework aiming to improve the driver's implementation of the
	    IOMMU-API in preparation for hooking up IOMMUFD support.

	- AMD-Vi Updates:
	  - Refactor GCR3 table support for SVA
	  - Cleanups

	- Some smaller cleanups and fixes

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

Bert Karwatzki (1):
      iommu: Fix compilation without CONFIG_IOMMU_INTEL

Erick Archer (2):
      iommu/mtk_iommu: Use devm_kcalloc() instead of devm_kzalloc()
      iommu/vt-d: Use kcalloc() instead of kzalloc()

Ethan Zhao (3):
      PCI: Make pci_dev_is_disconnected() helper public for other drivers
      iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected
      iommu/vt-d: Improve ITE fault handling if target device isn't present

Jason Gunthorpe (16):
      iommu/arm-smmu-v3: Make STE programming independent of the callers
      iommu/arm-smmu-v3: Consolidate the STE generation for abort/bypass
      iommu/arm-smmu-v3: Move the STE generation for S1 and S2 domains into functions
      iommu/arm-smmu-v3: Build the whole STE in arm_smmu_make_s2_domain_ste()
      iommu/arm-smmu-v3: Hold arm_smmu_asid_lock during all of attach_dev
      iommu/arm-smmu-v3: Compute the STE only once for each master
      iommu/arm-smmu-v3: Do not change the STE twice during arm_smmu_attach_dev()
      iommu/arm-smmu-v3: Put writing the context descriptor in the right order
      iommu/arm-smmu-v3: Pass smmu_domain to arm_enable/disable_ats()
      iommu/arm-smmu-v3: Remove arm_smmu_master->domain
      iommu/arm-smmu-v3: Check that the RID domain is S1 in SVA
      iommu/arm-smmu-v3: Add a global static IDENTITY domain
      iommu/arm-smmu-v3: Add a global static BLOCKED domain
      iommu/arm-smmu-v3: Use the identity/blocked domain during release
      iommu/arm-smmu-v3: Pass arm_smmu_domain and arm_smmu_device to finalize
      iommu/arm-smmu-v3: Convert to domain_alloc_paging()

Jingqi Liu (1):
      iommu/vt-d: Add the document for Intel IOMMU debugfs

Joerg Roedel (2):
      Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
      Merge branches 'arm/mediatek', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next

Konrad Dybcio (1):
      dt-bindings: arm-smmu: Add QCM2290 GPU SMMU

Krzysztof Kozlowski (4):
      iommu: constify pointer to bus_type
      iommu: constify of_phandle_args in xlate
      iommu: constify fwnode in iommu_ops_from_fwnode()
      iommu: re-use local fwnode variable in iommu_ops_from_fwnode()

Lu Baolu (24):
      iommu: Move iommu fault data to linux/iommu.h
      iommu/arm-smmu-v3: Remove unrecoverable faults reporting
      iommu: Remove unrecoverable fault data
      iommu: Cleanup iopf data structure definitions
      iommu: Merge iopf_device_param into iommu_fault_param
      iommu: Remove iommu_[un]register_device_fault_handler()
      iommu: Merge iommu_fault_event and iopf_fault
      iommu: Prepare for separating SVA and IOPF
      iommu: Make iommu_queue_iopf() more generic
      iommu: Separate SVA and IOPF
      iommu: Refine locking for per-device fault data management
      iommu: Use refcount for fault data access
      iommu: Improve iopf_queue_remove_device()
      iommu: Track iopf group instead of last fault
      iommu: Make iopf_group_response() return void
      iommu: Make iommu_report_device_fault() return void
      iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA
      iommu/vt-d: Use rbtree to track iommu probed devices
      iommu/vt-d: Use device rbtree in iopf reporting path
      iommu: Add static iommu_ops->release_domain
      iommu/vt-d: Fix NULL domain on device release
      iommu/vt-d: Setup scalable mode context entry in probe path
      iommu/vt-d: Remove scalable mode context entry setup from attach_dev
      iommu/vt-d: Remove scalabe mode in domain_context_clear_one()

Mario Limonciello (1):
      iommu/amd: Mark interrupt as managed

Neil Armstrong (2):
      dt-bindings: arm-smmu: Fix SM8[45]50 GPU SMMU 'if' condition
      dt-bindings: arm-smmu: Document SM8650 GPU SMMU

Pasha Tatashin (1):
      iommu/iova: use named kmem_cache for iova magazines

Robin Murphy (4):
      iommu/iova: Tidy up iova_cache_get() failure
      iommu/iova: Reorganise some code
      iommu/ipmmu-vmsa: Minor cleanups
      iommu/dma: Document min_align_mask assumption

Suravee Suthikulpanit (8):
      iommu/amd: Introduce get_amd_iommu_from_dev()
      iommu/amd: Introduce struct protection_domain.pd_mode
      iommu/amd: Introduce per-device GCR3 table
      iommu/amd: Refactor helper function for setting / clearing GCR3
      iommu/amd: Refactor attaching / detaching device functions
      iommu/amd: Refactor protection_domain helper functions
      iommu/amd: Refactor GCR3 table helper functions
      iommu/amd: Remove unused GCR3 table parameters from struct protection_domain

Tina Zhang (3):
      iommu/vt-d: Remove treatment for revoking PASIDs with pending page faults
      iommu/vt-d: Remove initialization for dynamically heap-allocated rcu_head
      iommu/vt-d: Merge intel_svm_bind_mm() into its caller

Vasant Hegde (16):
      iommu/amd: Remove unused PPR_* macros
      iommu/amd: Remove unused IOVA_* macro
      iommu/amd: Remove unused APERTURE_* macros
      iommu/amd: Remove duplicate function declarations from amd_iommu.h
      iommu/amd: Remove redundant error check in amd_iommu_probe_device()
      iommu/amd: Remove EXPORT_SYMBOL for perf counter related functions
      iommu/amd: Pass struct iommu_dev_data to set_dte_entry()
      iommu/amd: Enable Guest Translation before registering devices
      iommu/amd: Use protection_domain.flags to check page table mode
      iommu/amd: Add support for device based TLB invalidation
      iommu/amd: Rearrange GCR3 table setup code
      iommu: Introduce iommu_group_mutex_assert()
      iommu/amd: Remove unused flush pasid functions
      iommu/amd: Rearrange device flush code
      iommu/amd: Introduce per-device domain ID to fix potential TLB aliasing issue
      iommu/amd: Fix sleeping in atomic context

Will Deacon (1):
      Merge branch 'for-joerg/arm-smmu/bindings' into for-joerg/arm-smmu/updates

 Documentation/ABI/testing/debugfs-intel-iommu      | 276 +++++++
 .../devicetree/bindings/iommu/arm,smmu.yaml        |  20 +-
 MAINTAINERS                                        |   1 -
 drivers/iommu/Kconfig                              |   6 +-
 drivers/iommu/Makefile                             |   3 +-
 drivers/iommu/amd/amd_iommu.h                      |  41 +-
 drivers/iommu/amd/amd_iommu_types.h                |  34 +-
 drivers/iommu/amd/init.c                           |  12 +-
 drivers/iommu/amd/io_pgtable_v2.c                  |  21 +-
 drivers/iommu/amd/iommu.c                          | 634 ++++++++--------
 drivers/iommu/apple-dart.c                         |   3 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c    |  22 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        | 814 +++++++++++++--------
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h        |   4 -
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |   1 +
 drivers/iommu/arm/arm-smmu/arm-smmu.c              |   3 +-
 drivers/iommu/arm/arm-smmu/qcom_iommu.c            |   3 +-
 drivers/iommu/dma-iommu.c                          |   5 +
 drivers/iommu/exynos-iommu.c                       |   2 +-
 drivers/iommu/intel/Kconfig                        |  12 +-
 drivers/iommu/intel/Makefile                       |   2 +
 drivers/iommu/intel/dmar.c                         |  26 +-
 drivers/iommu/intel/iommu.c                        | 337 ++++-----
 drivers/iommu/intel/iommu.h                        |  14 +-
 drivers/iommu/intel/pasid.c                        | 205 ++++++
 drivers/iommu/intel/pasid.h                        |   2 +
 drivers/iommu/intel/perf.c                         |   2 +-
 drivers/iommu/intel/svm.c                          |  76 +-
 drivers/iommu/io-pgfault.c                         | 463 +++++++-----
 drivers/iommu/iommu-priv.h                         |   5 +-
 drivers/iommu/iommu-sva.c                          |  71 +-
 drivers/iommu/iommu-sva.h                          |  71 --
 drivers/iommu/iommu.c                              | 280 +------
 drivers/iommu/iova.c                               | 143 ++--
 drivers/iommu/ipmmu-vmsa.c                         |  19 +-
 drivers/iommu/irq_remapping.c                      |   3 +-
 drivers/iommu/msm_iommu.c                          |   4 +-
 drivers/iommu/mtk_iommu.c                          |   5 +-
 drivers/iommu/mtk_iommu_v1.c                       |   7 +-
 drivers/iommu/of_iommu.c                           |   2 +-
 drivers/iommu/rockchip-iommu.c                     |   2 +-
 drivers/iommu/sprd-iommu.c                         |   3 +-
 drivers/iommu/sun50i-iommu.c                       |   2 +-
 drivers/iommu/tegra-smmu.c                         |   4 +-
 drivers/iommu/virtio-iommu.c                       |   3 +-
 drivers/pci/pci.h                                  |   5 -
 include/linux/iommu.h                              | 295 ++++++--
 include/linux/pci.h                                |   5 +
 include/uapi/linux/iommu.h                         | 161 ----
 49 files changed, 2295 insertions(+), 1839 deletions(-)
 create mode 100644 Documentation/ABI/testing/debugfs-intel-iommu
 delete mode 100644 drivers/iommu/iommu-sva.h
 delete mode 100644 include/uapi/linux/iommu.h

Please pull.

Thanks,

	Joerg

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ