aboutsummaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorJay Cornwall2016-02-10 15:48:01 -0600
committerJoerg Roedel2016-02-25 16:53:49 +0100
commit358875fd52ab8f00f66328cbf1a1d2486f265829 (patch)
tree3023b7a161ceee66d15ddfcee8a9602cf582a625 /virt
parent38e45d02ea9f194b89d6bf41e52ccafc8e2c2b47 (diff)
iommu/amd: Apply workaround for ATS write permission check
The AMD Family 15h Models 30h-3Fh (Kaveri) BIOS and Kernel Developer's Guide omitted part of the BIOS IOMMU L2 register setup specification. Without this setup the IOMMU L2 does not fully respect write permissions when handling an ATS translation request. The IOMMU L2 will set PTE dirty bit when handling an ATS translation with write permission request, even when PTE RW bit is clear. This may occur by direct translation (which would cause a PPR) or by prefetch request from the ATC. This is observed in practice when the IOMMU L2 modifies a PTE which maps a pagecache page. The ext4 filesystem driver BUGs when asked to writeback these (non-modified) pages. Enable ATS write permission check in the Kaveri IOMMU L2 if BIOS has not. Signed-off-by: Jay Cornwall <jay@jcornwall.me> Cc: <stable@vger.kernel.org> # v3.19+ Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions