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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200608160502.GA4491@8bytes.org>
Date:   Mon, 8 Jun 2020 18:05:07 +0200
From:   Joerg Roedel <joro@...tes.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org
Subject: [git pull] IOMMU Updates for Linux v5.8

Hi Linus,

The following changes since commit 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162:

  Linux 5.7 (2020-05-31 16:49:15 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-updates-v5.8

for you to fetch changes up to 431275afdc7155415254aef4bd3816a1b8a2ead0:

  iommu: Check for deferred attach in iommu_group_do_dma_attach() (2020-06-04 11:38:17 +0200)

----------------------------------------------------------------
IOMMU Updates for Linux v5.8

Including:

	- A big part of this is a change in how devices get connected to
	  IOMMUs in the core code. It contains the change from the old
	  add_device()/remove_device() to the new
	  probe_device()/release_device() call-backs. As a result
	  functionality that was previously in the IOMMU drivers has
	  been moved to the IOMMU core code, including IOMMU group
	  allocation for each device.
	  The reason for this change was to get more robust allocation
	  of default domains for the iommu groups.
	  A couple of fixes were necessary after this was merged into
	  the IOMMU tree, but there are no known bugs left. The last fix
	  is applied on-top of the merge commit for the topic branches.

	- Removal of the driver private domain handling in the Intel
	  VT-d driver. This was fragile code and I am glad it is gone
	  now.

	- More Intel VT-d updates from Lu Baolu:

		- Nested Shared Virtual Addressing (SVA) support to the
		  Intel VT-d driver

		- Replacement of the Intel SVM interfaces to the common
		  IOMMU SVA API

		- SVA Page Request draining support

	- ARM-SMMU Updates from Will:

		- Avoid mapping reserved MMIO space on SMMUv3, so that
		  it can be claimed by the PMU driver

		- Use xarray to manage ASIDs on SMMUv3

		- Reword confusing shutdown message

		- DT compatible string updates

		- Allow implementations to override the default domain
		  type

	- A new IOMMU driver for the Allwinner Sun50i platform

	- Support for ATS gets disabled for untrusted devices (like
	  Thunderbolt devices). This includes a PCI patch, acked by
	  Bjorn.

	- Some cleanups to the AMD IOMMU driver to make more use of
	  IOMMU core features.

	- Unification of some printk formats in the Intel and AMD IOMMU
	  drivers and in the IOVA code.

	- Updates for DT bindings

	- A number of smaller fixes and cleanups.

----------------------------------------------------------------
Andre Przywara (1):
      dt-bindings: arm-smmu: Allow mmu-400, smmu-v1 compatible

Andy Shevchenko (3):
      iommu/iova: Unify format of the printed messages
      iommu/vt-d: Unify format of the printed messages
      iommu/amd: Unify format of the printed messages

Arnd Bergmann (1):
      iommu/renesas: Fix unused-function warning

Chen Zhou (1):
      iommu/arm-smmu-v3: remove set but not used variable 'smmu'

Jacob Pan (10):
      iommu/vt-d: Move domain helper to header
      iommu/vt-d: Use a helper function to skip agaw for SL
      iommu/vt-d: Add nested translation helper function
      iommu/vt-d: Add bind guest PASID support
      iommu/vt-d: Support flushing more translation cache types
      iommu/vt-d: Add svm/sva invalidate function
      iommu/vt-d: Add custom allocator for IOASID
      iommu/vt-d: Report SVA feature with generic flag
      iommu/vt-d: Replace intel SVM APIs with generic SVA APIs
      iommu/vt-d: Fix compile warning

Jean-Philippe Brucker (8):
      iommu/arm-smmu-v3: Don't reserve implementation defined register space
      iommu/arm-smmu-v3: Manage ASIDs with xarray
      PCI/ATS: Only enable ATS for trusted devices
      iommu/amd: Use pci_ats_supported()
      iommu/arm-smmu-v3: Use pci_ats_supported()
      iommu/vt-d: Use pci_ats_supported()
      uacce: Remove mm_exit() op
      iommu: Remove iommu_sva_ops::mm_exit()

Joerg Roedel (50):
      iommu: Move default domain allocation to separate function
      iommu/amd: Implement iommu_ops->def_domain_type call-back
      iommu/vt-d: Wire up iommu_ops->def_domain_type
      iommu/amd: Remove dma_mask check from check_device()
      iommu/amd: Return -ENODEV in add_device when device is not handled by IOMMU
      iommu: Add probe_device() and release_device() call-backs
      iommu: Move default domain allocation to iommu_probe_device()
      iommu: Keep a list of allocated groups in __iommu_probe_device()
      iommu: Move new probe_device path to separate function
      iommu: Split off default domain allocation from group assignment
      iommu: Move iommu_group_create_direct_mappings() out of iommu_group_add_device()
      iommu: Export bus_iommu_probe() and make is safe for re-probing
      iommu/amd: Remove dev_data->passthrough
      iommu/amd: Convert to probe/release_device() call-backs
      iommu/vt-d: Convert to probe/release_device() call-backs
      iommu/arm-smmu: Convert to probe/release_device() call-backs
      iommu/pamu: Convert to probe/release_device() call-backs
      iommu/s390: Convert to probe/release_device() call-backs
      iommu/virtio: Convert to probe/release_device() call-backs
      iommu/msm: Convert to probe/release_device() call-backs
      iommu/mediatek: Convert to probe/release_device() call-backs
      iommu/mediatek-v1 Convert to probe/release_device() call-backs
      iommu/qcom: Convert to probe/release_device() call-backs
      iommu/rockchip: Convert to probe/release_device() call-backs
      iommu/tegra: Convert to probe/release_device() call-backs
      iommu/renesas: Convert to probe/release_device() call-backs
      iommu/omap: Remove orphan_dev tracking
      iommu/omap: Convert to probe/release_device() call-backs
      iommu/exynos: Use first SYSMMU in controllers list for IOMMU core
      iommu/exynos: Convert to probe/release_device() call-backs
      iommu: Remove add_device()/remove_device() code-paths
      iommu: Move more initialization to __iommu_probe_device()
      iommu: Unexport iommu_group_get_for_dev()
      Merge tag 'v5.7-rc4' into core
      iommu/sun50i: Fix compile warnings
      iommu/sun50i: Use __GFP_ZERO instead of memset()
      iommu: Don't call .probe_finalize() under group->mutex
      iommu: Don't take group reference in iommu_alloc_default_domain()
      Merge tag 'v5.7-rc7' into x86/amd
      iommu/amd: Unexport get_dev_data()
      iommu/amd: Let free_pagetable() not rely on domain->pt_root
      iommu/amd: Allocate page-table in protection_domain_init()
      iommu/amd: Free page-table in protection_domain_free()
      iommu/amd: Consolidate domain allocation/freeing
      iommu/amd: Remove PD_DMA_OPS_MASK
      iommu/amd: Merge private header files
      iommu/amd: Store dev_data as device iommu private data
      iommu/amd: Remove redundant devid checks
      Merge branches 'arm/msm', 'arm/allwinner', 'arm/smmu', 'x86/vt-d', 'hyper-v', 'core' and 'x86/amd' into next
      iommu: Check for deferred attach in iommu_group_do_dma_attach()

Jon Derrick (3):
      iommu/vt-d: Only clear real DMA device's context entries
      iommu/vt-d: Allocate domain info for real DMA sub-devices
      iommu/vt-d: Remove real DMA lookup in find_domain

Jordan Crouse (1):
      iommu/arm-smmu: Allow client devices to select direct mapping

Lu Baolu (12):
      iommu/vt-d: Allow 32bit devices to uses DMA domain
      iommu/vt-d: Allow PCI sub-hierarchy to use DMA domain
      iommu/vt-d: Apply per-device dma_ops
      iommu/vt-d: Enlightened PASID allocation
      iommu/vt-d: Add get_domain_info() helper
      iommu/vt-d: Multiple descriptors per qi_submit_sync()
      iommu/vt-d: debugfs: Add support to show inv queue internals
      iommu/vt-d: Disable non-recoverable fault processing before unbind
      iommu/vt-d: Add page request draining support
      iommu/vt-d: Remove redundant IOTLB flush
      iommu/vt-d: Remove duplicated check in intel_svm_bind_mm()
      iommu/vt-d: Fix pointer cast warnings on 32 bit

Maxime Ripard (2):
      dt-bindings: iommu: Add Allwinner H6 IOMMU bindings
      iommu: Add Allwinner H6 IOMMU driver

Qian Cai (2):
      iommu/amd: Fix variable "iommu" set but not used
      iommu/vt-d: fix a GCC warning

Rikard Falkeborn (2):
      iommu/hyper-v: Constify hyperv_ir_domain_ops
      iommu/sun50i: Constify sun50i_iommu_ops

Sai Prakash Ranjan (3):
      iommu/arm-smmu: Make remove callback message more informative
      iommu: arm-smmu-impl: Convert to a generic reset implementation
      iommu/arm-smmu: Implement iommu_ops->def_domain_type call-back

Sai Praneeth Prakhya (2):
      iommu: Add def_domain_type() callback in iommu_ops
      iommu: Remove functions that support private domain

Samuel Zou (1):
      iommu/msm: Make msm_iommu_lock static

Sibi Sankar (3):
      dt-bindings: remoteproc: qcom: Add iommus property
      arm64: dts: qcom: sdm845-cheza: Add iommus property
      iommu/arm-smmu-qcom: Request direct mapping for modem device

Tero Kristo via iommu (2):
      iommu/omap: Add check for iommu group when no IOMMU in use
      iommu/omap: Add registration for DT fwnode pointer

Thierry Reding (1):
      iommu: Do not probe devices on IOMMU-less busses

Tom Murphy (1):
      iommu/vt-d: Remove IOVA handling code from the non-dma_ops path

Wei Yongjun (1):
      iommu/sun50i: Fix return value check in sun50i_iommu_probe()

Yong Wu (2):
      iommu/mediatek-v1: Add def_domain_type
      iommu/mediatek-v1: Fix a build warning for a unused variable 'data'

 .../bindings/iommu/allwinner,sun50i-h6-iommu.yaml  |   61 ++
 .../devicetree/bindings/iommu/arm,smmu.yaml        |    4 +-
 .../devicetree/bindings/remoteproc/qcom,q6v5.txt   |    3 +
 arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi         |    5 +
 drivers/iommu/Kconfig                              |    9 +
 drivers/iommu/Makefile                             |    1 +
 drivers/iommu/amd_iommu.c                          |  369 +++----
 drivers/iommu/amd_iommu.h                          |   96 +-
 drivers/iommu/amd_iommu_debugfs.c                  |    5 +-
 drivers/iommu/amd_iommu_init.c                     |    4 +-
 drivers/iommu/amd_iommu_proto.h                    |   96 --
 drivers/iommu/amd_iommu_types.h                    |    9 +-
 drivers/iommu/amd_iommu_v2.c                       |   14 +-
 drivers/iommu/arm-smmu-impl.c                      |    8 +-
 drivers/iommu/arm-smmu-qcom.c                      |   37 +-
 drivers/iommu/arm-smmu-v3.c                        |  122 +--
 drivers/iommu/arm-smmu.c                           |   53 +-
 drivers/iommu/arm-smmu.h                           |    1 +
 drivers/iommu/dmar.c                               |   99 +-
 drivers/iommu/exynos-iommu.c                       |   24 +-
 drivers/iommu/fsl_pamu_domain.c                    |   22 +-
 drivers/iommu/hyperv-iommu.c                       |    2 +-
 drivers/iommu/intel-iommu-debugfs.c                |   62 ++
 drivers/iommu/intel-iommu.c                        |  952 ++++++++----------
 drivers/iommu/intel-pasid.c                        |  309 +++++-
 drivers/iommu/intel-pasid.h                        |   27 +-
 drivers/iommu/intel-svm.c                          |  448 +++++++--
 drivers/iommu/intel_irq_remapping.c                |    2 +-
 drivers/iommu/iommu.c                              |  470 ++++++---
 drivers/iommu/iova.c                               |    6 +-
 drivers/iommu/ipmmu-vmsa.c                         |   59 +-
 drivers/iommu/msm_iommu.c                          |   36 +-
 drivers/iommu/mtk_iommu.c                          |   24 +-
 drivers/iommu/mtk_iommu_v1.c                       |   68 +-
 drivers/iommu/omap-iommu.c                         |  103 +-
 drivers/iommu/qcom_iommu.c                         |   24 +-
 drivers/iommu/rockchip-iommu.c                     |   26 +-
 drivers/iommu/s390-iommu.c                         |   22 +-
 drivers/iommu/sun50i-iommu.c                       | 1023 ++++++++++++++++++++
 drivers/iommu/tegra-gart.c                         |   24 +-
 drivers/iommu/tegra-smmu.c                         |   31 +-
 drivers/iommu/virtio-iommu.c                       |   41 +-
 drivers/misc/uacce/uacce.c                         |  172 +---
 drivers/pci/ats.c                                  |   18 +-
 include/linux/intel-iommu.h                        |   82 +-
 include/linux/intel-svm.h                          |   94 +-
 include/linux/iommu.h                              |   63 +-
 include/linux/pci-ats.h                            |    3 +
 include/linux/uacce.h                              |   34 +-
 include/uapi/linux/iommu.h                         |    5 +
 50 files changed, 3345 insertions(+), 1927 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
 delete mode 100644 drivers/iommu/amd_iommu_proto.h
 create mode 100644 drivers/iommu/sun50i-iommu.c

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