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: <ZPHw-MSyehz1wF7c@8bytes.org>
Date:   Fri, 1 Sep 2023 16:11:04 +0200
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.6

Hi Linus,

Two things to notice on this PR:

	1. It includes another try of optimizing the IOVA allocation
	   path for cases when the first 4GB begin to fill up. Previous
	   tries to do so have caused issues and got reverted, so this
	   time the optimization is explicitly disabled for PCI devices
	   (which are the primary reason of this allocation strategy
	    anyway). The change has been in linux-next for several weeks
	   and no problems were reported. So I am confident that it is a
	   real improvement this time and will not cause major issues.

	2. Stephen reported merge conflicts with iommfd tree, but I
	   couldn't reproduce them in my test-merge with your latest
	   tree. This might be due to removal of some problematic
	   patches from the IOMMU tree last week, as the iommufd tree
	   updates seem to be merged already. Anyway, if you run into
	   any problems please let me know.

With that said:

The following changes since commit 706a741595047797872e669b3101429ab8d378ef:

  Linux 6.5-rc7 (2023-08-20 15:02:52 +0200)

are available in the Git repository at:

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

for you to fetch changes up to d8fe59f11096d6470b5f53739e49cdce67f3e127:

  Merge branches 'apple/dart', 'arm/mediatek', 'arm/renesas', 'arm/rockchip', 'arm/smmu', 'unisoc', 'x86/vt-d', 'x86/amd' and 'core' into next (2023-08-21 14:18:43 +0200)

----------------------------------------------------------------
IOMMU Updates for Linux v6.6

Including:

	- Core changes:
	  - Consolidate probe_device path
	  - Make the PCI-SAC IOVA allocation trick PCI-only

	- AMD IOMMU:
	  - Consolidate PPR log handling
	  - Interrupt handling improvements
	  - Refcount fixes for amd_iommu_v2 driver

	- Intel VT-d driver:
	  - Enable idxd device DMA with pasid through iommu dma ops.
	  - Lift RESV_DIRECT check from VT-d driver to core.
	  - Miscellaneous cleanups and fixes.

	- ARM-SMMU drivers:
	  - Device-tree binding updates:
	    - Add additional compatible strings for Qualcomm SoCs
	    - Allow ASIDs to be configured in the DT to work around Qualcomm's
	      broken hypervisor
	    - Fix clocks for Qualcomm's MSM8998 SoC
	  - SMMUv2:
	    - Support for Qualcomm's legacy firmware implementation featured on
	      at least MSM8956 and MSM8976.
	    - Match compatible strings for Qualcomm SM6350 and SM6375 SoC variants
	  - SMMUv3:
	    - Use 'ida' instead of a bitmap for VMID allocation

	  - Rockchip IOMMU:
	    - Lift page-table allocation restrictions on newer hardware

	  - Mediatek IOMMU:
	    - Add MT8188 IOMMU Support

	  - Renesas IOMMU:
	    - Allow PCIe devices

	- Usual set of cleanups an smaller fixes

----------------------------------------------------------------
AngeloGioacchino Del Regno (6):
      dt-bindings: iommu: qcom,iommu: Add qcom,ctx-asid property
      dt-bindings: iommu: qcom,iommu: Add QSMMUv2 and MSM8976 compatibles
      iommu/qcom: Use the asid read from device-tree if specified
      iommu/qcom: Disable and reset context bank before programming
      iommu/qcom: Index contexts by asid number to allow asid 0
      iommu/qcom: Add support for QSMMUv2 and QSMMU-500 secured contexts

Chengci.Xu (5):
      dt-bindings: mediatek: mt8188: Add binding for MM & INFRA IOMMU
      iommu/mediatek: Fix two IOMMU share pagetable issue
      iommu/mediatek: Adjust mtk_iommu_config flow
      iommu/mediatek: Add enable IOMMU SMC command for INFRA masters
      iommu/mediatek: Add MT8188 IOMMU Support

Daniel Marcovitch (1):
      iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind

Dawei Li (1):
      iommu/arm-smmu-v3: Change vmid alloc strategy from bitmap to ida

Geert Uytterhoeven (1):
      iommu/ipmmu-vmsa: Convert to read_poll_timeout_atomic()

Jacob Pan (3):
      iommu: Generalize PASID 0 for normal DMA w/o PASID
      iommu: Move global PASID allocation from SVA to core
      dmaengine/idxd: Re-enable kernel workqueue under DMA API

Jason Gunthorpe (11):
      iommu: Have __iommu_probe_device() check for already probed devices
      iommu: Use iommu_group_ref_get/put() for dev->iommu_group
      iommu: Inline iommu_group_get_for_dev() into __iommu_probe_device()
      iommu: Simplify the __iommu_group_remove_device() flow
      iommu: Add iommu_init/deinit_device() paired functions
      iommu: Move the iommu driver sysfs setup into iommu_init/deinit_device()
      iommu: Do not export iommu_device_link/unlink()
      iommu: Always destroy the iommu_group during iommu_release_device()
      iommu: Split iommu_group_add_device()
      iommu: Avoid locking/unlocking for iommu_probe_device()
      iommu/sprd: Add missing force_aperture

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 'apple/dart', 'arm/mediatek', 'arm/renesas', 'arm/rockchip', 'arm/smmu', 'unisoc', 'x86/vt-d', 'x86/amd' and 'core' into next

Jonas Karlman (2):
      iommu: rockchip: Fix directory table address encoding
      iommu: rockchip: Allocate tables from all available memory for IOMMU v2

Konrad Dybcio (5):
      dt-bindings: arm-smmu: Fix MSM8998 clocks description
      iommu/arm-smmu-qcom: Sort the compatible list alphabetically
      iommu/arm-smmu-qcom: Add SM6375 DPU compatible
      iommu/arm-smmu-qcom: Add SM6350 DPU compatible
      iommu/arm-smmu-qcom: Add SM6375 SMMUv2

Lu Baolu (7):
      iommu/vt-d: Add domain_flush_pasid_iotlb()
      iommu/vt-d: Remove pasid_mutex
      iommu/vt-d: Make prq draining code generic
      iommu/vt-d: Prepare for set_dev_pasid callback
      iommu/vt-d: Add set_dev_pasid callback for dma domain
      iommu: Prevent RESV_DIRECT devices from blocking domains
      iommu/vt-d: Remove rmrr check in domain attaching device path

Min-Hua Chen (1):
      iommu/apple-dart: mark apple_dart_pm_ops static

Rob Herring (1):
      iommu: Explicitly include correct DT includes

Robin Murphy (1):
      iommu: Optimise PCI SAC address trick

Vasant Hegde (9):
      iommu/amd/iommu_v2: Clear pasid state in free path
      iommu/amd: Generalize log overflow handling
      iommu/amd: Handle PPR log overflow
      iommu/amd: Refactor IOMMU interrupt handling logic for Event, PPR, and GA logs
      iommu/amd: Enable separate interrupt for PPR and GA log
      iommu/amd: Disable PPR log/interrupt in iommu_disable()
      iommu/amd: Consolidate PPR log enablement
      iommu/amd: Enable PPR/GA interrupt after interrupt handler setup
      iommu/amd: Rearrange DTE bit definations

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

Yanfei Xu (2):
      iommu/vt-d: Fix to flush cache of PASID directory table
      iommu/vt-d: Fix to convert mm pfn to dma pfn

Yangtao Li (1):
      iommu/arm-smmu: Clean up resource handling during Qualcomm context probe

Yong Wu (2):
      iommu/mediatek: mt8188: Add iova_region_larb_msk
      MAINTAINERS: iommu/mediatek: Update the header file name

Yoshihiro Shimoda (1):
      iommu/ipmmu-vmsa: Allow PCIe devices

Yue Haibing (1):
      iommu/amd: Remove unused declarations

YueHaibing (2):
      iommu/amd: Remove unsued extern declaration amd_iommu_init_hardware()
      iommu/vt-d: Remove unused extern declaration dmar_parse_dev_scope()

Zhu Wang (1):
      iommu: Remove kernel-doc warnings

 .../devicetree/bindings/iommu/arm,smmu.yaml        |  41 ++
 .../devicetree/bindings/iommu/mediatek,iommu.yaml  |  12 +-
 .../devicetree/bindings/iommu/qcom,iommu.yaml      |  22 +-
 MAINTAINERS                                        |   1 +
 drivers/acpi/scan.c                                |   2 +-
 drivers/dma/idxd/device.c                          |  39 +-
 drivers/dma/idxd/dma.c                             |   5 +-
 drivers/dma/idxd/idxd.h                            |   9 +
 drivers/dma/idxd/init.c                            |  54 ++-
 drivers/dma/idxd/sysfs.c                           |   7 -
 drivers/iommu/amd/amd_iommu.h                      |   7 +-
 drivers/iommu/amd/amd_iommu_types.h                |  22 +-
 drivers/iommu/amd/init.c                           | 131 ++++--
 drivers/iommu/amd/iommu.c                          |  86 ++--
 drivers/iommu/amd/iommu_v2.c                       |   7 +-
 drivers/iommu/apple-dart.c                         |   2 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c    |   2 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c        |  45 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h        |   2 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c   |   2 +-
 drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c         |   7 +-
 drivers/iommu/arm/arm-smmu/arm-smmu.c              |   1 -
 drivers/iommu/arm/arm-smmu/qcom_iommu.c            |  71 ++-
 drivers/iommu/dma-iommu.c                          |  26 +-
 drivers/iommu/dma-iommu.h                          |   8 +
 drivers/iommu/intel/iommu.c                        | 244 ++++++----
 drivers/iommu/intel/iommu.h                        |   9 +
 drivers/iommu/intel/pasid.c                        |   4 +-
 drivers/iommu/intel/pasid.h                        |   2 -
 drivers/iommu/intel/svm.c                          |  62 +--
 drivers/iommu/iommu-sva.c                          |  29 +-
 drivers/iommu/iommu-sysfs.c                        |   8 -
 drivers/iommu/iommu.c                              | 483 +++++++++++---------
 drivers/iommu/ipmmu-vmsa.c                         |  21 +-
 drivers/iommu/mtk_iommu.c                          | 151 +++++--
 drivers/iommu/of_iommu.c                           |   2 +-
 drivers/iommu/rockchip-iommu.c                     |  50 +--
 drivers/iommu/sprd-iommu.c                         |   2 +
 drivers/iommu/tegra-smmu.c                         |   2 +-
 drivers/iommu/virtio-iommu.c                       |   2 +-
 .../memory/mediatek,mt8188-memory-port.h           | 489 +++++++++++++++++++++
 include/linux/amd-iommu.h                          |   1 -
 include/linux/dmar.h                               |   2 -
 include/linux/iommu.h                              |  15 +
 include/soc/mediatek/smi.h                         |   1 +
 45 files changed, 1518 insertions(+), 672 deletions(-)
 create mode 100644 include/dt-bindings/memory/mediatek,mt8188-memory-port.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