]> rtime.felk.cvut.cz Git - jailhouse.git/commit
x86: Block DMA from unlisted devices in AMD IOMMU
authorJan Kiszka <jan.kiszka@siemens.com>
Sat, 7 May 2016 17:02:28 +0000 (19:02 +0200)
committerJan Kiszka <jan.kiszka@siemens.com>
Mon, 9 May 2016 18:03:06 +0000 (20:03 +0200)
commita8ec2d328aed7925482d98011e8f1fdd816899b9
tree73c6525aa15ce737cf10662bcee09531bc9c4a57
parentb4abf5788c4f6a37017b4b4ec9b83dc970427fa7
x86: Block DMA from unlisted devices in AMD IOMMU

Invalid device table entries in the AMD IOMMU mean that those devices
are actually allowed to perform DMA requests and issue interrupts. We
have to avoid this case because only devices listed in a config are
permitted to do so. We already achieve this effect when removing an
existing device from the table, but we have to ensure it also for any
unlisted device.

Devices with IDs not covered by any table are blocked by the IOMMU, see
AMD I/O Virtualization Technology spec, 2.2.2.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/x86/amd_iommu.c