diff options
author | Adrian Huang <ahuang12@lenovo.com> | 2020-09-26 18:26:02 +0800 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2020-10-01 14:11:36 +0200 |
commit | 0bbe4ced53e36786eafc2ecbf9a1761f55b4a82e (patch) | |
tree | 57b5ee4c46f439bbfc759a83bf60217bbf8de19c /drivers/nvmem/rockchip-efuse.c | |
parent | 1a26044954a6d1f4d375d5e62392446af663be7a (diff) |
iommu/amd: Fix the overwritten field in IVMD header
Commit 387caf0b759a ("iommu/amd: Treat per-device exclusion
ranges as r/w unity-mapped regions") accidentally overwrites
the 'flags' field in IVMD (struct ivmd_header) when the I/O
virtualization memory definition is associated with the
exclusion range entry. This leads to the corrupted IVMD table
(incorrect checksum). The kdump kernel reports the invalid checksum:
ACPI BIOS Warning (bug): Incorrect checksum in table [IVRS] - 0x5C, should be 0x60 (20200717/tbprint-177)
AMD-Vi: [Firmware Bug]: IVRS invalid checksum
Fix the above-mentioned issue by modifying the 'struct unity_map_entry'
member instead of the IVMD header.
Cleanup: The *exclusion_range* functions are not used anymore, so
get rid of them.
Fixes: 387caf0b759a ("iommu/amd: Treat per-device exclusion ranges as r/w unity-mapped regions")
Reported-and-tested-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Adrian Huang <ahuang12@lenovo.com>
Cc: Jerry Snitselaar <jsnitsel@redhat.com>
Link: https://lore.kernel.org/r/20200926102602.19177-1-adrianhuang0701@gmail.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/nvmem/rockchip-efuse.c')
0 files changed, 0 insertions, 0 deletions