qemu/hw/xen
Jan Beulich 5c83b2f5b4 xen: properly gate host writes of modified PCI CFG contents
The old logic didn't work as intended when an access spanned multiple
fields (for example a 32-bit access to the location of the MSI Message
Data field with the high 16 bits not being covered by any known field).
Remove it and derive which fields not to write to from the accessed
fields' emulation masks: When they're all ones, there's no point in
doing any host write.

This fixes a secondary issue at once: We obviously shouldn't make any
host write attempt when already the host read failed.

This is XSA-128.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2015-06-02 15:07:00 +00:00
..
Makefile.objs xen: move Xen HVM files under hw/i386/xen 2014-05-07 16:14:56 +00:00
xen_backend.c xen_backend: introduce xenstore_read_uint64 and xenstore_read_fe_uint64 2014-07-07 10:37:40 +00:00
xen_devconfig.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xen_pt_config_init.c xen: properly gate host writes of modified PCI CFG contents 2015-06-02 15:07:00 +00:00
xen_pt_msi.c memory: remove memory_region_destroy 2014-08-18 12:06:21 +02:00
xen_pt.c xen: properly gate host writes of modified PCI CFG contents 2015-06-02 15:07:00 +00:00
xen_pt.h xen: properly gate host writes of modified PCI CFG contents 2015-06-02 15:07:00 +00:00
xen-host-pci-device.c hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
xen-host-pci-device.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00