** Description changed:

  [Impact]
  iommu/amd: Set exclusion range correctly
-     
+ 
  BugLink: https://bugs.launchpad.net/bugs/1823037
-     
+ 
  The exlcusion range limit register needs to contain the
  base-address of the last page that is part of the range, as
  bits 0-11 of this register are treated as 0xfff by the
  hardware for comparisons.
-     
+ 
  So correctly set the exclusion range in the hardware to the
  last page which is _in_ the range.
-     
+ 
  Fixes: b2026aa2dce44 ('x86, AMD IOMMU: add functions for programming IOMMU 
MMIO space')
  Signed-off-by: Joerg Roedel <jroe...@suse.de>
-     
+ 
  (cherry picked from commit 3c677d206210f53a4be972211066c0f1cd47fe12)
  Signed-off-by: Jeffrey Lane <jeffrey.l...@canonical.com>
  
+ iommu/amd: Reserve exclusion range in iova-domain
  
- iommu/amd: Reserve exclusion range in iova-domain
-     
  BugLink: https://bugs.launchpad.net/bugs/1823037
-     
+ 
  If a device has an exclusion range specified in the IVRS
  table, this region needs to be reserved in the iova-domain
  of that device. This hasn't happened until now and can cause
  data corruption on data transfered with these devices.
-     
+ 
  Treat exclusion ranges as reserved regions in the iommu-core
  to fix the problem.
-     
+ 
  Fixes: be2a022c0dd0 ('x86, AMD IOMMU: add functions to parse IOMMU memory 
mapping requirements for devices')
  Signed-off-by: Joerg Roedel <jroe...@suse.de>
  Reviewed-by: Gary R Hook <gary.h...@amd.com>
-     
+ 
  (cherry picked from commit 8aafaaf2212192012f5bae305bb31cdf7681d777)
  Signed-off-by: Jeffrey Lane <jeffrey.l...@canonical.com>
  
  [Test Case]
  
  [Fixes]
  Cherry pick the following from Mainline
  fd3b3448cf5adc2a2f09b70eaad03c27fe79e7a6 iommu/amd: Reserve exclusion range 
in iova-domain
  3c677d206210f53a4be972211066c0f1cd47fe12 iommu/amd: Set exclusion range 
correctly
  
  These can be picked from my branches here:
- Bionic
+ Bionic:
  https://code.launchpad.net/~bladernr/ubuntu/+source/linux/+git/bionic 
1823037-amd_iommu-cherrypick
+ b7abdb585d0ae4193add1f7038476cd8d6dd7f41 iommu/amd: Reserve exclusion range 
in iova-domain
+ ee4a87e6b7fe7e039c1f02c50c53da63e4270732
+ 
  Cosmic: https://code.launchpad.net/~bladernr/ubuntu/+source/linux/+git/cosmic 
1823037-amd_iommu-cherrypick
+ 0acc8c0e862b46b12c233abd76593420f4a20e0c iommu/amd: Reserve exclusion range 
in iova-domain
+ fbead5d71bfc2a49ffca8d181e2708fd616e9a7f iommu/amd: Set exclusion range 
correctly
+ 
+ 
  Disco:
  https://code.launchpad.net/~bladernr/ubuntu/+source/linux/+git/disco 
1823037-amd_iommu-cherrypick
+ 6ddc207ca0d442b413ea7f059937ba90e5139753 iommu/amd: Set exclusion range 
correctly
  
- Note Disco only required f1cd47fe12 as the first patch was already
- picked in LP: #1830934
  
- Not necessary for Eoan, they're in 5.2-rc1.
+ Note Disco only required f1cd47fe12 as the first patch was already picked in 
LP: #1830934
+ 
+ Not necessary for Eoan as these are already upstream in 5.2-rc1
  
  [Regression Risk]
  Low,
  Only affects the amd_iommu driver:
      drivers/iommu/amd_iommu*

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1823037

Title:
  amd_iommu possible data corruption

Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Bionic:
  In Progress
Status in linux source package in Cosmic:
  In Progress
Status in linux source package in Disco:
  In Progress

Bug description:
  [Impact]
  iommu/amd: Set exclusion range correctly

  BugLink: https://bugs.launchpad.net/bugs/1823037

  The exlcusion range limit register needs to contain the
  base-address of the last page that is part of the range, as
  bits 0-11 of this register are treated as 0xfff by the
  hardware for comparisons.

  So correctly set the exclusion range in the hardware to the
  last page which is _in_ the range.

  Fixes: b2026aa2dce44 ('x86, AMD IOMMU: add functions for programming IOMMU 
MMIO space')
  Signed-off-by: Joerg Roedel <jroe...@suse.de>

  (cherry picked from commit 3c677d206210f53a4be972211066c0f1cd47fe12)
  Signed-off-by: Jeffrey Lane <jeffrey.l...@canonical.com>

  iommu/amd: Reserve exclusion range in iova-domain

  BugLink: https://bugs.launchpad.net/bugs/1823037

  If a device has an exclusion range specified in the IVRS
  table, this region needs to be reserved in the iova-domain
  of that device. This hasn't happened until now and can cause
  data corruption on data transfered with these devices.

  Treat exclusion ranges as reserved regions in the iommu-core
  to fix the problem.

  Fixes: be2a022c0dd0 ('x86, AMD IOMMU: add functions to parse IOMMU memory 
mapping requirements for devices')
  Signed-off-by: Joerg Roedel <jroe...@suse.de>
  Reviewed-by: Gary R Hook <gary.h...@amd.com>

  (cherry picked from commit 8aafaaf2212192012f5bae305bb31cdf7681d777)
  Signed-off-by: Jeffrey Lane <jeffrey.l...@canonical.com>

  [Test Case]

  [Fixes]
  Cherry pick the following from Mainline
  fd3b3448cf5adc2a2f09b70eaad03c27fe79e7a6 iommu/amd: Reserve exclusion range 
in iova-domain
  3c677d206210f53a4be972211066c0f1cd47fe12 iommu/amd: Set exclusion range 
correctly

  These can be picked from my branches here:
  Bionic:
  https://code.launchpad.net/~bladernr/ubuntu/+source/linux/+git/bionic 
1823037-amd_iommu-cherrypick
  b7abdb585d0ae4193add1f7038476cd8d6dd7f41 iommu/amd: Reserve exclusion range 
in iova-domain
  ee4a87e6b7fe7e039c1f02c50c53da63e4270732

  Cosmic: https://code.launchpad.net/~bladernr/ubuntu/+source/linux/+git/cosmic 
1823037-amd_iommu-cherrypick
  0acc8c0e862b46b12c233abd76593420f4a20e0c iommu/amd: Reserve exclusion range 
in iova-domain
  fbead5d71bfc2a49ffca8d181e2708fd616e9a7f iommu/amd: Set exclusion range 
correctly

  
  Disco:
  https://code.launchpad.net/~bladernr/ubuntu/+source/linux/+git/disco 
1823037-amd_iommu-cherrypick
  6ddc207ca0d442b413ea7f059937ba90e5139753 iommu/amd: Set exclusion range 
correctly

  
  Note Disco only required f1cd47fe12 as the first patch was already picked in 
LP: #1830934

  Not necessary for Eoan as these are already upstream in 5.2-rc1

  [Regression Risk]
  Low,
  Only affects the amd_iommu driver:
      drivers/iommu/amd_iommu*

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1823037/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to