qemu/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch
Hans de Goede 83889a9bd2 Add "qxl: call dpy_gfx_resize when entering vga mode" patch, fixing
an often reported use after free crash (rhbz#873845)
- Replace "wip: hw/qxl: inject interrupts in any state" patch with the
  official upstream fix
- Add 5 other spice/qxl crash/bug fixes cherry-picked from upstream
2013-01-21 16:09:24 +01:00

38 lines
1.1 KiB
Diff

From acbfa56143a6c8a4e0ceb2546612ae4caea907d3 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
Date: Tue, 30 Oct 2012 14:55:12 +0100
Subject: [PATCH 518/564] qxl: call dpy_gfx_resize when entering vga mode
When entering vga mode the display size likely changes,
notify all displaychangelisteners about this.
Probably went unnoticed for a while as one if the first
things the guest does after leaving qxl native mode and
entering qxl vga mode is to set the vga video mode. But
there is still a small window where qemu can operate on
stale data, leading to crashes now and then.
https://bugzilla.redhat.com/show_bug.cgi?id=865767
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
hw/qxl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/qxl.c b/hw/qxl.c
index 8111bb9..3583d98 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -1084,7 +1084,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
trace_qxl_enter_vga_mode(d->id);
qemu_spice_create_host_primary(&d->ssd);
d->mode = QXL_MODE_VGA;
- memset(&d->ssd.dirty, 0, sizeof(d->ssd.dirty));
+ dpy_resize(d->ssd.ds);
vga_dirty_log_start(&d->vga);
}
--
1.8.1