IOMMU: default to always quarantining PCI devices
authorJan Beulich <jbeulich@suse.com>
Tue, 26 Nov 2019 13:24:44 +0000 (14:24 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 26 Nov 2019 13:24:44 +0000 (14:24 +0100)
commit1d6777df453eae5fbc9d58cb1139b2ebcdae4a09
tree0141621e727ea5ecc2c01954bd4f3a92eddd137e
parent0eb99bf90b64737c5ba6adaa46951127dcf150cc
IOMMU: default to always quarantining PCI devices

XSA-302 relies on the use of libxl's "assignable-add" feature to prepare
devices to be assigned to untrusted guests.

Unfortunately, this is not considered a strictly required step for
device assignment. The PCI passthrough documentation on the wiki
describes alternate ways of preparing devices for assignment, and
libvirt uses its own ways as well. Hosts where these alternate methods
are used will still leave the system in a vulnerable state after the
device comes back from a guest.

Default to always quarantining PCI devices, but provide a command line
option to revert back to prior behavior (such that people who both
sufficiently trust their guests and want to be able to use devices in
Dom0 again after they had been in use by a guest wouldn't need to
"manually" move such devices back from DomIO to Dom0).

This is XSA-306.

Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wl@xen.org>
master commit: ba2ab00bbb8c74e311a252d816d68dee47c779a0
master date: 2019-11-26 14:15:01 +0100
docs/misc/xen-command-line.markdown
xen/drivers/passthrough/iommu.c
xen/drivers/passthrough/pci.c
xen/include/xen/iommu.h