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  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 24 Dec 2016 11:47:05 +0800
From:   Baoquan He <>
Subject: Re: [PATCH v7 00/12] Fix kdump faults on system with amd iommu

Hi Joerg,


Could you help review this version? Not sure this could catch up to
v4.10 merging.


On 11/25/16 at 01:13pm, Baoquan He wrote:
> This is v7 post.
> The principle of the fix is similar to intel iommu. Just defer the assignment
> of device to domain to device driver init. In this version of post, a new
> call-back is_attach_deferred is added to iommu-ops, it's used to check whether
> we need defer the domain attach/detach in iommu-core code.
> v5:
>     bnx2 NIC can't reset itself during driver init. Post patch to reset
>     it during driver init. IO_PAGE_FAULT can't be seen anymore.
>     Below is link of v5 post.
> v5->v6:
>     According to Joerg's comments made several below main changes:
>     - Add sanity check when copy old dev tables.
>     - If a device is set up with guest translations (DTE.GV=1), then don't
>       copy that information but move the device over to an empty guest-cr3
>       table and handle the faults in the PPR log (which just answer them
>       with INVALID).
> v6->v7:
>     Two main changes are made according to Joerg's suggestion:
>     - Add is_attach_deferred call-back to iommu-ops. With this domain
>       can be deferred to device driver init cleanly.
>     - Allocate memory below 4G for dev table if translation pre-enabled.
>       AMD engineer pointed out that it's unsafe to update the device-table
>       while iommu is enabled. device-table pointer update is split up into
>       two 32bit writes in the IOMMU hardware. So updating it while the IOMMU
>       is enabled could have some nasty side effects.
> Baoquan He (12):
>   iommu/amd: Detect pre enabled translation
>   iommu/amd: add several helper function
>   iommu/amd: Define bit fields for DTE particularly
>   iommu/amd: Add function copy_dev_tables
>   iommu/amd: copy old trans table from old kernel
>   iommu: Add is_attach_deferred call-back to iommu-ops
>   iommu/amd: Use is_attach_deferred call-back
>   iommu/amd: Add sanity check of irq remap information of old dev table
>     entry
>   iommu/amd: Don't copy GCR3 table root pointer
>   iommu/amd: Clear out the GV flag when handle deferred domain attach
>   iommu: Assign the direct mapped domain to group->domain
>   iommu/amd: Allocate memory below 4G for dev table if translation
>     pre-enabled
>  drivers/iommu/amd_iommu.c       |  78 +++++++++-------
>  drivers/iommu/amd_iommu_init.c  | 201 +++++++++++++++++++++++++++++++++++++---
>  drivers/iommu/amd_iommu_proto.h |   2 +
>  drivers/iommu/amd_iommu_types.h |  53 ++++++++++-
>  drivers/iommu/amd_iommu_v2.c    |  18 +++-
>  drivers/iommu/iommu.c           |   9 ++
>  include/linux/iommu.h           |   1 +
>  7 files changed, 313 insertions(+), 49 deletions(-)
> -- 
> 2.5.5

Powered by blists - more mailing lists