On Wed, Sep 12, 2012 at 03:55:05PM -0400, Donald Dutile wrote:
> This patch was posted back in Nov 2011:
>   http://lists.linuxfoundation.org/pipermail/iommu/2011-November/003086.html
> 
> and due to discussion about the patch, it was never pulled in.
> Although the thread discussed an alternate patch to
> default to non-coherent if any IOMMU didn't support coherency,
> this alternate method was never implemented, and this bug persists.
> 
> This patch has been in RHEL6 for quite some time,
> and it wasn't noticed that it didn't get into linux upstream, 
> until a RH partner reported this error when running upstream kernels,
> and noticed how it doesn't occur on RHEL6 kernels.
> Applying this patch to an upstream kernel resolved this issue.
> 
> 
>  domain_update_iommu_coherency() currently defaults to setting
>  domains as coherent when the domain is not attached to any iommus.
>  This allows for a window in domain_context_mapping_one() where such a
>  domain can update context entries non-coherently, and only after
>  update the domain capability to clear iommu_coherency.
>  This can be seen using KVM device assignment on VT-d systems that
>  do not support coherency in the ecap register.  When a device is
>  added to a guest, a domain is created (iommu_coherency = 0), the
>  device is attached, and ranges are mapped.  If we then hot unplug
>  the device, the coherency is updated and set to the default (1)
>  since no iommus are attached to the domain.  A subsequent attach
>  of a device makes use of the same dmar domain (now marked coherent)
>  updates context entries with coherency enabled, and only disables
>  coherency as the last step in the process.
>  To fix this, switch domain_update_iommu_coherency() to use the
>  safer, non-coherent default for domains not attached to iommus.
> 
> Signed-off-by: Donald Dutile <[email protected]>
> cc: Alex Williamson <alex.williamson at redhat.com>

Hmm, who is the author? The patch looks the same as what Alex submitted
last year. I applied Alex' patch because it includes also the Acked-bys
and he seems to be the author anyway. Oh, and I added a stable-tag.


        Joerg


_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to