[git pull] IOMMU Fixes for Linux v5.4-rc1

From: Joerg Roedel
Date: Sat Sep 28 2019 - 15:10:35 EST


Hi Linus,

The following changes since commit e95adb9add75affb98570a518c902f50e5fcce1b:

Merge branches 'arm/omap', 'arm/exynos', 'arm/smmu', 'arm/mediatek', 'arm/qcom', 'arm/renesas', 'x86/amd', 'x86/vt-d' and 'core' into next (2019-09-11 12:39:19 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-fixes-5.4-rc1

for you to fetch changes up to 2a78f9962565e53b78363eaf516eb052009e8020:

iommu/amd: Lock code paths traversing protection_domain->dev_list (2019-09-28 14:44:13 +0200)

----------------------------------------------------------------
IOMMU Fixes for Linux v5.4-rc1

A couple of fixes for the AMD IOMMU driver have piled up:

* Some fixes for the reworked IO page-table which caused memory
leaks or did not allow to downgrade mappings under some
conditions.

* Locking fixes to fix a couple of possible races around
accessing 'struct protection_domain'. The races got introduced
when the dma-ops path became lock-less in the fast-path.

----------------------------------------------------------------
Andrei Dulea (4):
iommu/amd: Fix pages leak in free_pagetable()
iommu/amd: Fix downgrading default page-sizes in alloc_pte()
iommu/amd: Introduce first_pte_l7() helper
iommu/amd: Unmap all L7 PTEs when downgrading page-sizes

Filippo Sironi (1):
iommu/amd: Wait for completion of IOTLB flush in attach_device

Joerg Roedel (6):
iommu/amd: Remove domain->updated
iommu/amd: Remove amd_iommu_devtable_lock
iommu/amd: Take domain->lock for complete attach/detach path
iommu/amd: Check for busy devices earlier in attach_device()
iommu/amd: Lock dev_data in attach/detach code paths
iommu/amd: Lock code paths traversing protection_domain->dev_list

drivers/iommu/amd_iommu.c | 229 ++++++++++++++++++++++++----------------
drivers/iommu/amd_iommu_types.h | 4 +-
2 files changed, 139 insertions(+), 94 deletions(-)

Please pull.

Thanks,

Joerg

Attachment: signature.asc
Description: Digital signature