diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2015-04-28 16:10:23 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2015-04-28 16:10:23 +0000 |
commit | 743daf8ed83730dd90e7c91d2eeb08e4377f98eb (patch) | |
tree | ee0e1819ef53a0d725e051bf58a5759bf6be67d1 /freed-ora/current/master/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch | |
parent | a651757b0bf2249aaff9d0f480955d1bb9b08519 (diff) | |
download | linux-libre-raptor-743daf8ed83730dd90e7c91d2eeb08e4377f98eb.tar.gz linux-libre-raptor-743daf8ed83730dd90e7c91d2eeb08e4377f98eb.zip |
4.0.0-1.fc23.gnu
Diffstat (limited to 'freed-ora/current/master/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch')
-rw-r--r-- | freed-ora/current/master/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/freed-ora/current/master/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch b/freed-ora/current/master/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch new file mode 100644 index 000000000..de3565152 --- /dev/null +++ b/freed-ora/current/master/xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch @@ -0,0 +1,51 @@ +From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> +Date: Fri, 27 Mar 2015 13:31:11 -0400 +Subject: [PATCH] xen/pciback: Don't disable PCI_COMMAND on PCI device reset. + +There is no need for this at all. Worst it means that if +the guest tries to write to BARs it could lead (on certain +platforms) to PCI SERR errors. + +Please note that with af6fc858a35b90e89ea7a7ee58e66628c55c776b +"xen-pciback: limit guest control of command register" +a guest is still allowed to enable those control bits (safely), but +is not allowed to disable them and that therefore a well behaved +frontend which enables things before using them will still +function correctly. + +This is done via an write to the configuration register 0x4 which +triggers on the backend side: +command_write + \- pci_enable_device + \- pci_enable_device_flags + \- do_pci_enable_device + \- pcibios_enable_device + \-pci_enable_resourcess + [which enables the PCI_COMMAND_MEMORY|PCI_COMMAND_IO] + +However guests (and drivers) which don't do this could cause +problems, including the security issues which XSA-120 sought +to address. + +Reported-by: Jan Beulich <jbeulich@suse.com> +Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> +--- + drivers/xen/xen-pciback/pciback_ops.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c +index c4a0666de6f5..26e651336787 100644 +--- a/drivers/xen/xen-pciback/pciback_ops.c ++++ b/drivers/xen/xen-pciback/pciback_ops.c +@@ -119,8 +119,6 @@ void xen_pcibk_reset_device(struct pci_dev *dev) + if (pci_is_enabled(dev)) + pci_disable_device(dev); + +- pci_write_config_word(dev, PCI_COMMAND, 0); +- + dev->is_busmaster = 0; + } else { + pci_read_config_word(dev, PCI_COMMAND, &cmd); +-- +2.1.0 + |