Hi Linus,

The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd:

  Linux 5.7-rc4 (2020-05-03 14:56:04 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git 
tags/iommu-fixes-v5.7-rc4

for you to fetch changes up to fb3637a113349f53830f7d6ca45891b7192cd28f:

  iommu/virtio: Reverse arguments to list_add (2020-05-08 17:31:18 +0200)

----------------------------------------------------------------
IOMMU Fixes for Linux v5.7-rc4

Including:

        - The race condition fixes for the AMD IOMMU driver. This are 5
          patches fixing two race conditions around
          increase_address_space(). The first race condition was around
          the non-atomic update of the domain page-table root pointer
          and the variable containing the page-table depth (called
          mode). This is fixed now be merging page-table root and mode
          into one 64-bit field which is read/written atomically.

          The second race condition was around updating the page-table
          root pointer and making it public before the hardware caches
          were flushed. This could cause addresses to be mapped and
          returned to drivers which are not reachable by IOMMU hardware
          yet, causing IO page-faults. This is fixed too by adding the
          necessary flushes before a new page-table root is published.

          Related to the race condition fixes these patches also add a
          missing domain_flush_complete() barrier to update_domain() and
          a fix to bail out of the loop which tries to increase the
          address space when the call to increase_address_space() fails.

          Qian was able to trigger the race conditions under high load
          and memory pressure within a few days of testing. He confirmed
          that he has seen no issues anymore with the fixes included
          here.

        - Fix for a list-handling bug in the VirtIO IOMMU driver.

----------------------------------------------------------------
Joerg Roedel (5):
      iommu/amd: Fix race in increase_address_space()/fetch_pte()
      iommu/amd: Do not loop forever when trying to increase address space
      iommu/amd: Call domain_flush_complete() in update_domain()
      iommu/amd: Update Device Table in increase_address_space()
      iommu/amd: Do not flush Device Table in iommu_map_page()

Julia Lawall (1):
      iommu/virtio: Reverse arguments to list_add

 drivers/iommu/amd_iommu.c       | 198 +++++++++++++++++++++++++++++++---------
 drivers/iommu/amd_iommu_types.h |   9 +-
 drivers/iommu/virtio-iommu.c    |   2 +-
 3 files changed, 162 insertions(+), 47 deletions(-)

Please pull.

Thanks,

        Joerg

Attachment: signature.asc
Description: Digital signature

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to