qemu-irix/hw
Gerd Hoffmann 670ddcc0aa cirrus: fix patterncopy checks
The blit_region_is_unsafe checks don't work correctly for the
patterncopy source.  It's a fixed-sized region, which doesn't
depend on cirrus_blt_{width,height}.  So go do the check in
cirrus_bitblt_common_patterncopy instead, then tell blit_is_unsafe that
it doesn't need to verify the source.  Also handle the case where we
blit from cirrus_bitbuf correctly.

This patch replaces 5858dd1801.

Security impact:  I think for the most part error on the safe side this
time, refusing blits which should have been allowed.

Only exception is placing the blit source at the end of the video ram,
so cirrus_blt_srcaddr + 256 goes beyond the end of video memory.  But
even in that case I'm not fully sure this actually allows read access to
host memory.  To trick the commit 5858dd18 security checks one has to
pick very small cirrus_blt_{width,height} values, which in turn implies
only a fraction of the blit source will actually be used.

Cc: Wolfgang Bumiller <w.bumiller@proxmox.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Message-id: 1486645341-5010-1-git-send-email-kraxel@redhat.com
(cherry picked from commit 95280c31cd)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2017-03-21 15:02:29 -05:00
..
9pfs 9pfs: don't try to flush self and avoid QEMU hang on reset 2017-03-21 14:57:20 -05:00
acpi nvdimm acpi: introduce NVDIMM_DSM_MEMORY_SIZE 2016-11-15 17:20:37 +02:00
adc
alpha target-alpha: Fix interrupt mask for cpu1 2016-11-22 16:53:53 +01:00
arm loader: fix handling of custom address spaces when adding ROM blobs 2016-11-30 04:20:57 +02:00
audio migration/pcspk: Add a property to state if pcspk is migrated 2016-11-28 16:45:12 +01:00
block xen_disk: split discard input to match internal representation 2016-11-23 10:47:48 -08:00
bt char: replace avail_connections 2016-10-24 15:46:10 +02:00
char hw/char/spapr_vty: Return amount of free buffer entries in vty_can_receive() 2016-11-23 12:00:48 +11:00
core machine: Convert abstract typename on compat_props to subclass names 2017-03-16 12:10:38 -05:00
cpu
cris
display cirrus: fix patterncopy checks 2017-03-21 15:02:29 -05:00
dma hw/dma/pl080: Fix bad bit mask (PL080_CONF_M1 | PL080_CONF_M1) 2016-10-17 19:22:17 +01:00
gpio i.MX: Fix GPIO ISR register write 2016-10-28 15:51:27 +01:00
i2c hw/i2c/bitbang_i2c: Handle NACKs from devices 2016-11-07 10:01:15 +00:00
i386 pc: fix crash in rtc_set_memory() if initial cpu is marked as hotplugged 2017-03-16 12:10:39 -05:00
ide ahci: advertise HOST_CAP_64 2017-03-16 12:10:40 -05:00
input hw/input/hid: support alternative sysrq/break scancodes for gtk-vnc 2016-11-10 15:29:58 +00:00
intc apic: reset apic_delivered global variable on machine reset 2017-03-16 12:10:41 -05:00
ipack
ipmi ipmi: fix qemu crash while migrating with ipmi 2016-11-18 17:50:09 +02:00
isa char: remove init callback 2016-10-24 15:27:20 +02:00
lm32 loader: fix handling of custom address spaces when adding ROM blobs 2016-11-30 04:20:57 +02:00
m68k m68k: change default system clock for m5208evb 2016-10-08 11:25:29 +03:00
mem pc: memhp: enable nvdimm device hotplug 2016-11-01 19:21:09 +02:00
microblaze clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
mips clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
misc ivshmem: Fix 64 bit memory bar configuration 2016-11-18 17:29:34 +02:00
moxie
net e1000e: correctly tear down MSI-X memory regions 2017-03-16 12:10:42 -05:00
nvram fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
openrisc
pci pci: fix error message for express slots 2017-03-16 12:10:38 -05:00
pci-bridge clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
pci-host ppc: Make uninorth interrupt swizzling identical to Grackle 2016-11-23 12:00:48 +11:00
pcmcia
ppc spapr: fix default DRC state for coldplugged LMBs 2016-12-01 13:41:00 +11:00
s390x s390x/css: reassign subchannel if schid is changed after migration 2017-03-20 14:26:46 -05:00
scsi scsi: mptsas: fix the wrong reading size in fetch request 2017-03-16 12:10:42 -05:00
sd sd: sdhci: check data length during dma_memory_read 2017-03-16 12:10:40 -05:00
sh4
smbios
sparc fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
sparc64 fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
ssi xilinx: fix buffer overflow on realize 2016-10-24 15:27:20 +02:00
timer clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
tpm clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
tricore
unicore32 clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
usb xen: attach pvusb usb bus to backend qdev 2016-11-22 10:29:41 -08:00
vfio vfio: Add support for mmapping sub-page MMIO BARs 2016-10-31 09:53:04 -06:00
virtio virtio-pci: reset modern vq meta data 2017-03-16 12:10:42 -05:00
watchdog
xen xen: create qdev for each backend device 2016-11-22 10:29:39 -08:00
xenpv
xtensa char: remove init callback 2016-10-24 15:27:20 +02:00
Makefile.objs