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: <Y/SGAafMEGBn4fWy@8bytes.org>
Date:   Tue, 21 Feb 2023 09:51:13 +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.3

Hi Linus,

Please note the first item in the tag-message, there is some potential
for conflicts between these changes and other trees due to changed
function signatures.

With that in mind, please consider:

The following changes since commit ceaa837f96adb69c0df0397937cd74991d5d821a:

  Linux 6.2-rc8 (2023-02-12 14:10:17 -0800)

are available in the Git repository at:

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

for you to fetch changes up to bedd29d793da3312e1350a56245c4971a38d4453:

  Merge branches 'apple/dart', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next (2023-02-18 15:43:04 +0100)

----------------------------------------------------------------
IOMMU Updates for Linux v6.3:

Including:

	- Consolidate iommu_map/unmap functions. There have been
	  blocking and atomic variants so far, but that was problematic
	  as this approach does not scale with required new variants
	  which just differ in the GFP flags used.
	  So Jason consolidated this back into single functions that
	  take a GFP parameter. This has the potential to cause
	  conflicts with other trees, as they introduce new call-sites
	  for the changed functions. I offered them to pull in the
	  branch containing these changes and resolve it, but I am not
	  sure everyone did that. The conflicts this caused with
	  upstream up to v6.2-rc8 are resolved in the final merge
	  commit.

	- Retire the detach_dev() call-back in iommu_ops

	- Arm SMMU updates from Will:
	  - Device-tree binding updates:
	    * Cater for three power domains on SM6375
	    * Document existing compatible strings for Qualcomm SoCs
	    * Tighten up clocks description for platform-specific compatible strings
	  - Enable Qualcomm workarounds for some additional platforms that need them

	- Intel VT-d updates from Lu Baolu:
	  - Add Intel IOMMU performance monitoring support
	  - Set No Execute Enable bit in PASID table entry
	  - Two performance optimizations
	  - Fix PASID directory pointer coherency
	  - Fix missed rollbacks in error path
	  - Cleanups

	- Apple t8110 DART support

	- Exynos IOMMU:
	  - Implement better fault handling
	  - Error handling fixes

	- Renesas IPMMU:
	  - Add device tree bindings for r8a779g0

	- AMD IOMMU:
	  - Various fixes for handling on SNP-enabled systems and
	    handling of faults with unknown request-ids
	  - Cleanups and other small fixes

	- Various other smaller fixes and cleanups

----------------------------------------------------------------
Bartosz Golaszewski (1):
      dt-bindings: arm-smmu: document the smmu on Qualcomm SA8775P

Bjorn Andersson (1):
      iommu/arm-smmu-qcom: Select identity domain for sc8280xp MDSS

Eric Curtin (1):
      iommu: dart: DART_T8110_ERROR range should be 0 to 5

Gavrilov Ilia (1):
      iommu/amd: Add a length limitation for the ivrs_acpihid command-line parameter

Hector Martin (7):
      dt-bindings: iommu: dart: add t8110 compatible
      iommu: dart: Add suspend/resume support
      iommu: dart: Support >64 stream IDs
      iommu: dart: Support a variable number of TTBRs per stream
      iommu: dart: Fix DART_PARAMS1/2 bit define names
      iommu: dart: Support different variants with different registers
      iommu: dart: Add t8110 DART support

Jacob Pan (2):
      iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode
      iommu/vt-d: Fix PASID directory pointer coherency

Jason Gunthorpe (12):
      iommu: Remove deferred attach check from __iommu_detach_device()
      iommu: Add a gfp parameter to iommu_map()
      iommu: Remove iommu_map_atomic()
      iommu: Add a gfp parameter to iommu_map_sg()
      iommu/dma: Use the gfp parameter in __iommu_dma_alloc_noncontiguous()
      iommufd: Use GFP_KERNEL_ACCOUNT for iommu_map()
      iommu/intel: Add a gfp parameter to alloc_pgtable_page()
      iommu/intel: Support the gfp argument to the map_pages op
      iommu/intel: Use GFP_KERNEL in sleepable contexts
      iommu/s390: Push the gfp parameter to the kmem_cache_alloc()'s
      iommu/s390: Use GFP_KERNEL in sleepable contexts
      iommu: Fix error unwind in iommu_group_alloc()

Joerg Roedel (5):
      iommu/ipmmu-vmsa: Remove ipmmu_utlb_disable()
      iommu/fsl_pamu: Fix compile error after adding set_platform_dma_ops
      Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu
      Merge branch 'iommu-memory-accounting' into core
      Merge branches 'apple/dart', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next

Kan Liang (7):
      iommu/vt-d: Support size of the register set in DRHD
      iommu/vt-d: Retrieve IOMMU perfmon capability information
      iommu/vt-d: Support Enhanced Command Interface
      iommu/vt-d: Add IOMMU perfmon support
      iommu/vt-d: Support cpumask for IOMMU perfmon
      iommu/vt-d: Add IOMMU perfmon overflow handler support
      iommu/vt-d: Enable IOMMU perfmon support

Konrad Dybcio (1):
      dt-bindings: arm-smmu: Allow 3 power domains on SM6375 MMU500

Krzysztof Kozlowski (1):
      dt-bindings: arm-smmu: disallow clocks when not used

Lu Baolu (10):
      iommu: Remove detach_dev callbacks
      iommu: Add set_platform_dma_ops iommu ops
      iommu: Add set_platform_dma_ops callbacks
      iommu: Remove detach_dev callback
      iommu/vt-d: Remove include/linux/intel-svm.h
      iommu/vt-d: Remove unused fields in svm structures
      iommu/vt-d: Remove users from intel_svm_dev
      iommu/vt-d: Remove sva from intel_svm_dev
      iommu/vt-d: Set No Execute Enable bit in PASID table entry
      iommu/vt-d: Fix error handling in sva enable/disable paths

Luca Weiss (1):
      dt-bindings: iommu: qcom: Add Qualcomm MSM8953 compatible

Manivannan Sadhasivam (1):
      dt-bindings: arm-smmu: Fix binding for SDX55 and SDX65

Marek Szyprowski (1):
      iommu/exynos: Add missing set_platform_dma_ops callback

Marijn Suijten (2):
      dt-bindings: arm-smmu: Add sm8150-smmu-500 to the list of Adreno smmus
      iommu/arm-smmu-qcom: Add SM8150 DPU compatible

Martin Botka (1):
      dt-bindings: arm-smmu: Document smmu-500 binding for SM6125

Randy Dunlap (1):
      iommu/of: mark an unused function as __maybe_unused

Robin Murphy (1):
      iommu: Tidy up io-pgtable dependencies

Sam Protsenko (2):
      iommu/exynos: Abstract getting the fault info
      iommu/exynos: Implement fault handling on SysMMU v7

Sven Peter (1):
      iommu/dart: Fix apple_dart_device_group for PCI groups

Thierry Reding (4):
      of: Introduce of_translate_dma_region()
      dt-bindings: reserved-memory: Document iommu-addresses
      iommu: Implement of_iommu_get_resv_regions()
      iommu: dma: Use of_iommu_get_resv_regions()

Tina Zhang (1):
      iommu/vt-d: Allow to use flush-queue when first level is default

Tom Lendacky (1):
      iommu/amd: Do not clear event/ppr log buffer when snp is enabled

Vasant Hegde (6):
      iommu/amd: Do not allocate io_pgtable_ops for passthrough domain
      iommu/amd: Fix error handling for pdev_pri_ats_enable()
      iommu/amd: Do not identity map v2 capable device when snp is enabled
      iommu/amd: Improve page fault error reporting
      iommu: Attach device group to old domain in error path
      iommu/amd: Skip attach device domain is same as new domain

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

Yang Yingliang (1):
      iommu/exynos: Fix error handling in exynos_iommu_init()

Yoshihiro Shimoda (1):
      dt-bindings: iommu: renesas,ipmmu-vmsa: add r8a779g0 support

 .../testing/sysfs-bus-event_source-devices-iommu   |  37 +
 .../devicetree/bindings/iommu/apple,dart.yaml      |   1 +
 .../devicetree/bindings/iommu/arm,smmu.yaml        |  66 +-
 .../devicetree/bindings/iommu/qcom,iommu.txt       |   1 +
 .../bindings/iommu/renesas,ipmmu-vmsa.yaml         |   1 +
 .../bindings/reserved-memory/reserved-memory.yaml  |  89 ++-
 MAINTAINERS                                        |   1 -
 arch/arm/mm/dma-mapping.c                          |  11 +-
 arch/s390/include/asm/pci_dma.h                    |   5 +-
 arch/s390/pci/pci_dma.c                            |  31 +-
 .../gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c    |   3 +-
 drivers/gpu/drm/tegra/drm.c                        |   2 +-
 drivers/gpu/host1x/cdma.c                          |   2 +-
 drivers/infiniband/hw/usnic/usnic_uiom.c           |   8 +-
 drivers/iommu/Kconfig                              |  18 +-
 drivers/iommu/amd/init.c                           |  16 +-
 drivers/iommu/amd/iommu.c                          |  89 ++-
 drivers/iommu/apple-dart.c                         | 632 +++++++++++----
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |   2 +
 drivers/iommu/arm/arm-smmu/qcom_iommu.c            |  23 -
 drivers/iommu/dma-iommu.c                          |  21 +-
 drivers/iommu/exynos-iommu.c                       | 216 +++--
 drivers/iommu/fsl_pamu_domain.c                    |   6 +-
 drivers/iommu/intel/Kconfig                        |  11 +
 drivers/iommu/intel/Makefile                       |   1 +
 drivers/iommu/intel/dmar.c                         |  33 +-
 drivers/iommu/intel/iommu.c                        | 122 ++-
 drivers/iommu/intel/iommu.h                        | 115 ++-
 drivers/iommu/intel/pasid.c                        |  20 +-
 drivers/iommu/intel/perfmon.c                      | 877 +++++++++++++++++++++
 drivers/iommu/intel/perfmon.h                      |  64 ++
 drivers/iommu/intel/svm.c                          |  90 +--
 drivers/iommu/iommu-traces.c                       |   1 -
 drivers/iommu/iommu.c                              | 171 ++--
 drivers/iommu/iommufd/pages.c                      |   6 +-
 drivers/iommu/ipmmu-vmsa.c                         |  28 -
 drivers/iommu/msm_iommu.c                          |   6 +-
 drivers/iommu/mtk_iommu.c                          |   9 -
 drivers/iommu/mtk_iommu_v1.c                       |   4 +-
 drivers/iommu/of_iommu.c                           |  96 +++
 drivers/iommu/omap-iommu.c                         |   6 +-
 drivers/iommu/rockchip-iommu.c                     |   1 -
 drivers/iommu/s390-iommu.c                         |  22 +-
 drivers/iommu/sprd-iommu.c                         |  16 -
 drivers/iommu/sun50i-iommu.c                       |   1 -
 drivers/iommu/tegra-gart.c                         |   6 +-
 drivers/iommu/tegra-smmu.c                         |   5 +-
 drivers/media/platform/qcom/venus/firmware.c       |   2 +-
 drivers/net/ipa/ipa_mem.c                          |   6 +-
 drivers/net/wireless/ath/ath10k/snoc.c             |   2 +-
 drivers/net/wireless/ath/ath11k/ahb.c              |   4 +-
 drivers/of/address.c                               |  41 +
 drivers/remoteproc/remoteproc_core.c               |   5 +-
 drivers/vfio/vfio_iommu_type1.c                    |   9 +-
 drivers/vhost/vdpa.c                               |   2 +-
 include/acpi/actbl1.h                              |   2 +-
 include/linux/cpuhotplug.h                         |   1 +
 include/linux/dmar.h                               |   1 +
 include/linux/intel-svm.h                          |  16 -
 include/linux/iommu.h                              |  39 +-
 include/linux/of_address.h                         |   2 +
 include/linux/of_iommu.h                           |   8 +
 include/trace/events/iommu.h                       |   7 -
 63 files changed, 2493 insertions(+), 646 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-event_source-devices-iommu
 create mode 100644 drivers/iommu/intel/perfmon.c
 create mode 100644 drivers/iommu/intel/perfmon.h
 delete mode 100644 include/linux/intel-svm.h

Please pull.

Thanks,

	Joerg

Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ