Intel-IOMMU, intr-remap: source-id checking
authorWeidong Han <weidong.han@intel.com>
Fri, 22 May 2009 16:41:15 +0000 (00:41 +0800)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 23 Jun 2009 21:09:17 +0000 (22:09 +0100)
commitf007e99c8e2e322b8331aba72414715119a2920d
tree616bfcdda74341dc8b5d9ea1013bb7506407a961
parentc4658b4e777bebf69884f4884a9bfb2f84dd71d9
Intel-IOMMU, intr-remap: source-id checking

To support domain-isolation usages, the platform hardware must be
capable of uniquely identifying the requestor (source-id) for each
interrupt message. Without source-id checking for interrupt remapping
, a rouge guest/VM with assigned devices can launch interrupt attacks
to bring down anothe guest/VM or the VMM itself.

This patch adds source-id checking for interrupt remapping, and then
really isolates interrupts for guests/VMs with assigned devices.

Because PCI subsystem is not initialized yet when set up IOAPIC
entries, use read_pci_config_byte to access PCI config space directly.

Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
arch/x86/kernel/apic/io_apic.c
drivers/pci/intr_remapping.c
drivers/pci/intr_remapping.h
include/linux/dmar.h