summaryrefslogtreecommitdiff
path: root/drivers/xen/xen-pciback/conf_space.h
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2015-03-11 13:51:17 +0000
committerDavid Vrabel <david.vrabel@citrix.com>2015-03-11 14:34:40 +0000
commitaf6fc858a35b90e89ea7a7ee58e66628c55c776b (patch)
tree5c794dd0eaf6b82cb5b46a05de14f77b41bb7b8a /drivers/xen/xen-pciback/conf_space.h
parent85e40b0539b24518c8bdf63e2605c8522377d00f (diff)
xen-pciback: limit guest control of command register
Otherwise the guest can abuse that control to cause e.g. PCIe Unsupported Request responses by disabling memory and/or I/O decoding and subsequently causing (CPU side) accesses to the respective address ranges, which (depending on system configuration) may be fatal to the host. Note that to alter any of the bits collected together as PCI_COMMAND_GUEST permissive mode is now required to be enabled globally or on the specific device. This is CVE-2015-2150 / XSA-120. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: <stable@vger.kernel.org> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Diffstat (limited to 'drivers/xen/xen-pciback/conf_space.h')
-rw-r--r--drivers/xen/xen-pciback/conf_space.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/xen/xen-pciback/conf_space.h b/drivers/xen/xen-pciback/conf_space.h
index e56c934ad137..2e1d73d1d5d0 100644
--- a/drivers/xen/xen-pciback/conf_space.h
+++ b/drivers/xen/xen-pciback/conf_space.h
@@ -64,6 +64,8 @@ struct config_field_entry {
void *data;
};
+extern bool permissive;
+
#define OFFSET(cfg_entry) ((cfg_entry)->base_offset+(cfg_entry)->field->offset)
/* Add fields to a device - the add_fields macro expects to get a pointer to