xemu/hw
Marc-André Lureau 330ef31deb ui/win32: fix potential use-after-free with dbus shared memory
DisplaySurface may be free before the pixman image is freed, since the
image is refcounted and used by different objects, including pending
dbus messages.

Furthermore, setting the destroy function in
create_displaysurface_from() isn't appropriate, as it may not be used,
and may be overriden as in ramfb.

Set the destroy function when the shared handle is set, use the HANDLE
directly for destroy data, using a single common helper
qemu_pixman_win32_image_destroy().

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-5-marcandre.lureau@redhat.com>
2024-10-14 17:34:09 +04:00
..
9pfs 9p: remove 'proxy' filesystem backend driver 2024-10-03 19:33:25 +02:00
acpi hw/acpi: remove break after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
adc hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
alpha alpha: switch boards to "default y" 2024-05-03 15:47:47 +02:00
arm rust: add PL011 device model 2024-10-11 12:32:17 +02:00
audio hw/audio/hda: fix memory leak on audio setup 2024-10-14 17:34:09 +04:00
avr avr: switch boards to "default y" 2024-05-03 15:47:47 +02:00
block hw/virtio-blk: fix -Werror=maybe-uninitialized false-positive 2024-10-02 16:14:29 +04:00
char * pc: Add a description for the i8042 property 2024-10-04 19:28:37 +01:00
core hw: fix memory leak in IRQState allocation 2024-10-01 13:55:39 +01:00
cpu hw: Add a Kconfig switch for the TYPE_CPU_CLUSTER device 2024-04-25 12:48:12 +02:00
cxl hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
display ui/win32: fix potential use-after-free with dbus shared memory 2024-10-14 17:34:09 +04:00
dma hw/dma: Remove omap_dma4 device 2024-10-01 14:58:07 +01:00
fsi hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
gpio hw/gpio: Remove TYPE_OMAP2_GPIO 2024-10-01 14:44:42 +01:00
hppa hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
hyperv hw/hyperv: remove return after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
i2c hw/i2c/aspeed: Add support for 64 bit addresses 2024-09-16 17:44:08 +02:00
i386 * pc: Add a description for the i8042 property 2024-10-04 19:28:37 +01:00
ide hw/ahci: fix -Werror=maybe-uninitialized false-positive 2024-10-02 16:14:29 +04:00
input hw/input: Remove lm832x device 2024-10-01 14:41:10 +01:00
intc RISC-V PR for 9.2 2024-10-02 16:30:06 +01:00
ipack hw/ipack: Constify VMState 2023-12-29 11:17:30 +11:00
ipmi hw/ipmi: Constify VMState 2023-12-29 11:17:30 +11:00
isa hw/char/serial.h: Extract serial-isa.h 2024-10-03 19:33:23 +02:00
loongarch hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
m68k hw/m68k: Use explicit big-endian LD/ST API 2024-10-07 11:33:20 +02:00
mem hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
microblaze hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
mips * pc: Add a description for the i8042 property 2024-10-04 19:28:37 +01:00
misc hw/misc/omap_clk: Remove OMAP2-specifics 2024-10-01 14:57:55 +01:00
net hw/net/rocker: Remove unused rocker_fp_ports 2024-10-03 17:26:06 +03:00
nubus hw/nubus/nubus-device: Range check 'slot' property 2024-09-08 11:49:49 +02:00
nvme hw/nvme: add atomic write support 2024-10-01 09:02:05 +02:00
nvram hw: Remove unused fw_cfg_init_io 2024-10-03 17:26:06 +03:00
openrisc hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
pci hw/pci: Remove unused pcie_chassis_find_slot 2024-10-03 17:26:06 +03:00
pci-bridge hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
pci-host q35: Remove unused mch_mcfg_base 2024-10-03 17:26:05 +03:00
pcmcia hw/pcmcia: Remove pxa2xx pcmcia device 2024-10-01 14:25:54 +01:00
ppc hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
remote remote: Remove unused remote_iohub_finalize 2024-10-03 17:26:06 +03:00
riscv * pc: Add a description for the i8042 property 2024-10-04 19:28:37 +01:00
rtc hw/rtc: Remove twl92230 device 2024-10-01 14:40:59 +01:00
rx kconfig: express dependency of individual boards on libfdt 2024-05-10 15:45:15 +02:00
s390x hw/s390x: Use explicit big-endian LD/ST API 2024-10-07 11:33:20 +02:00
scsi hw/vhost-scsi: fix -Werror=maybe-uninitialized 2024-10-02 16:14:29 +04:00
sd hw/sdhci: fix -Werror=maybe-uninitialized false-positive 2024-10-02 16:14:29 +04:00
sensor hw/sensor/tmp105: Lower 4 bit of limit registers are always 0 2024-09-13 20:11:13 +02:00
sh4 hw/sh4: Remove sh7750_register_io_device() helper 2024-09-13 20:10:49 +02:00
smbios smbios: make memory device size configurable per Machine 2024-07-22 20:15:41 -04:00
sparc hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
sparc64 hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
ssi hw/ssi: Remove omap_mcspi 2024-10-01 14:57:13 +01:00
timer hw/timer: Remove omap_synctimer 2024-10-01 14:56:27 +01:00
tpm hw/tpm: remove break after g_assert_not_reached() 2024-09-24 13:53:35 +02:00
tricore hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
ufs hw/ufs: minor bug fixes related to ufs-test 2024-09-06 18:04:16 +09:00
usb hw/usb: Remove MUSB USB host controller 2024-10-01 14:43:02 +01:00
vfio vfio/igd: correctly calculate stolen memory size for gen 9 and later 2024-09-17 10:37:55 +02:00
virtio vhost: Remove unused vhost_dev_{load|save}_inflight 2024-10-03 17:26:06 +03:00
watchdog hw/watchdog: replace assert(0) with g_assert_not_reached() 2024-09-13 20:12:16 +02:00
xen hw/xen: xenpvh: Add pci-intx-irq-base property 2024-10-03 19:37:35 +02:00
xenpv hw/xen: Register framebuffer backend via xen_backend_init() 2024-06-04 11:53:43 +02:00
xtensa hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
Kconfig hw/timer: Remove TYPE_ETRAX_FS_TIMER device 2024-09-13 20:11:13 +02:00
meson.build hw/cris: Remove image loader helper 2024-09-13 20:10:50 +02:00