CVE-2015-2150 xen: NMIs triggerable by guests (rhbz 1196266 1200397)
Part deux: Fix it harder
This commit is contained in:
		
							parent
							
								
									5fd2f45801
								
							
						
					
					
						commit
						9adfc18494
					
				| @ -631,6 +631,9 @@ Patch26171: acpi-video-Add-force-native-backlight-quirk-for-Leno.patch | ||||
| #rhbz 1203584 | ||||
| Patch26174: Input-ALPS-fix-max-coordinates-for-v5-and-v7-protoco.patch | ||||
| 
 | ||||
| #CVE-2015-2150 rhbz 1196266 1200397 | ||||
| Patch26175: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch | ||||
| 
 | ||||
| # END OF PATCH DEFINITIONS | ||||
| 
 | ||||
| %endif | ||||
| @ -1373,6 +1376,9 @@ ApplyPatch acpi-video-Add-force-native-backlight-quirk-for-Leno.patch | ||||
| #rhbz 1203584 | ||||
| ApplyPatch Input-ALPS-fix-max-coordinates-for-v5-and-v7-protoco.patch | ||||
| 
 | ||||
| #CVE-2015-2150 rhbz 1196266 1200397 | ||||
| ApplyPatch xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch | ||||
| 
 | ||||
| # END OF PATCH APPLICATIONS | ||||
| 
 | ||||
| %endif | ||||
| @ -2223,6 +2229,9 @@ fi | ||||
| # | ||||
| #  | ||||
| %changelog | ||||
| * Wed Apr 01 2015 Josh Boyer <jwboyer@fedoraproject.org> | ||||
| - CVE-2015-2150 xen: NMIs triggerable by guests (rhbz 1196266 1200397) | ||||
| 
 | ||||
| * Tue Mar 31 2015 Josh Boyer <jwboyer@fedoraproject.org> | ||||
| - Enable MLX4_EN_VXLAN (rhbz 1207728) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										51
									
								
								xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
									
									
									
									
									
										Normal file
									
								
							| @ -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 | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user