amd_iommu possible data corruption
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Jeff Lane | ||
Bionic |
Fix Released
|
Medium
|
Jeff Lane | ||
Cosmic |
Invalid
|
Medium
|
Jeff Lane | ||
Disco |
Fix Released
|
Medium
|
Jeff Lane |
Bug Description
[Impact]
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.
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]
Cherry pick the following from Mainline
fd3b3448cf5adc2
3c677d206210f53
These can be picked from my branches here:
Bionic:
https:/
b7abdb585d0ae41
ee4a87e6b7fe7e0
Cosmic: https:/
0acc8c0e862b46b
fbead5d71bfc2a4
Disco:
https:/
6ddc207ca0d442b
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,this adds memory protection to the driver and has already been applied upstream and tested by Dell for 24 hours with no failures noted.
CVE References
tags: | added: verification-done-bionic verification-done-disco |
description: | updated |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Cosmic): | |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Cosmic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Disco): | |
status: | In Progress → Fix Committed |
tags: | added: cscc |
Changed in linux (Ubuntu Cosmic): | |
status: | Fix Committed → Invalid |
related branch /code.launchpad .net/~bladernr/ ubuntu/ +source/ linux/+ git/disco/ +ref/amd- iommu-cherrypic k
https:/