qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 0/3] UI patches
@ 2023-12-04  8:08 marcandre.lureau
  2023-12-04  8:08 ` [PULL 1/3] ui/gtk-egl: move function calls back to regular code path marcandre.lureau
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: marcandre.lureau @ 2023-12-04  8:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Manos Pitsidianakis, Gerd Hoffmann, stefanha,
	Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

The following changes since commit 29b5d70cb70574b499517ec9e9f80dea496a3cc0:

  Merge tag 'pull-ppc-for-8.2-20231130' of https://gitlab.com/npiggin/qemu into staging (2023-12-01 07:29:52 -0500)

are available in the Git repository at:

  https://gitlab.com/marcandre.lureau/qemu.git tags/ui-pull-request

for you to fetch changes up to 551ef0fa05c11abd62f4607ee3cddbcb7dea6b66:

  hw/audio/virtio-sound: mark the device as unmigratable (2023-12-04 12:04:36 +0400)

----------------------------------------------------------------
ui/audio fixes for 8.2

----------------------------------------------------------------

Fiona Ebner (1):
  ui/vnc-clipboard: fix inflate_buffer

Volker Rümelin (2):
  ui/gtk-egl: move function calls back to regular code path
  hw/audio/virtio-sound: mark the device as unmigratable

 hw/audio/virtio-snd.c |  1 +
 ui/gtk-egl.c          | 12 ++++++------
 ui/vnc-clipboard.c    |  5 +++++
 3 files changed, 12 insertions(+), 6 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PULL 1/3] ui/gtk-egl: move function calls back to regular code path
  2023-12-04  8:08 [PULL 0/3] UI patches marcandre.lureau
@ 2023-12-04  8:08 ` marcandre.lureau
  2023-12-04  8:08 ` [PULL 2/3] ui/vnc-clipboard: fix inflate_buffer marcandre.lureau
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: marcandre.lureau @ 2023-12-04  8:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Manos Pitsidianakis, Gerd Hoffmann, stefanha,
	Marc-André Lureau, Volker Rümelin

From: Volker Rümelin <vr_qemu@t-online.de>

Commit 6f189a08c1 ("ui/gtk-egl: Check EGLSurface before doing
scanout") introduced a regression when QEMU is running with a
virtio-gpu-gl-device on a host under X11. After the guest has
initialized the virtio-gpu-gl-device, the guest screen only
shows "Display output is not active.".

Commit 6f189a08c1 moved all function calls in
gd_egl_scanout_texture() to a code path which is only called
once after gd_egl_init() succeeds in gd_egl_scanout_texture().
Move all function calls in gd_egl_scanout_texture() back to
the regular code path so they get always called if one of the
gd_egl_init() calls was successful.

Fixes: 6f189a08c1 ("ui/gtk-egl: Check EGLSurface before doing scanout")
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231111104020.26183-1-vr_qemu@t-online.de>
---
 ui/gtk-egl.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
index cd2f176502..3af5ac5bcf 100644
--- a/ui/gtk-egl.c
+++ b/ui/gtk-egl.c
@@ -249,14 +249,14 @@ void gd_egl_scanout_texture(DisplayChangeListener *dcl,
         if (!vc->gfx.esurface) {
             return;
         }
+    }
 
-        eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
-                       vc->gfx.esurface, vc->gfx.ectx);
+    eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
+                   vc->gfx.esurface, vc->gfx.ectx);
 
-        gtk_egl_set_scanout_mode(vc, true);
-        egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
-                             backing_id, false);
-    }
+    gtk_egl_set_scanout_mode(vc, true);
+    egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
+                         backing_id, false);
 }
 
 void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl,
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PULL 2/3] ui/vnc-clipboard: fix inflate_buffer
  2023-12-04  8:08 [PULL 0/3] UI patches marcandre.lureau
  2023-12-04  8:08 ` [PULL 1/3] ui/gtk-egl: move function calls back to regular code path marcandre.lureau
@ 2023-12-04  8:08 ` marcandre.lureau
  2023-12-04  8:08 ` [PULL 3/3] hw/audio/virtio-sound: mark the device as unmigratable marcandre.lureau
  2023-12-04 14:46 ` [PULL 0/3] UI patches Stefan Hajnoczi
  3 siblings, 0 replies; 5+ messages in thread
From: marcandre.lureau @ 2023-12-04  8:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Manos Pitsidianakis, Gerd Hoffmann, stefanha,
	Marc-André Lureau, Fiona Ebner

From: Fiona Ebner <f.ebner@proxmox.com>

Commit d921fea338 ("ui/vnc-clipboard: fix infinite loop in
inflate_buffer (CVE-2023-3255)") removed this hunk, but it is still
required, because it can happen that stream.avail_in becomes zero
before coming across a return value of Z_STREAM_END in the loop.

This fixes the host->guest direction of the clipboard with noVNC and
TigerVNC as clients.

Fixes: d921fea338 ("ui/vnc-clipboard: fix infinite loop in inflate_buffer (CVE-2023-3255)")
Reported-by: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231122125826.228189-1-f.ebner@proxmox.com>
---
 ui/vnc-clipboard.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ui/vnc-clipboard.c b/ui/vnc-clipboard.c
index c759be3438..124b6fbd9c 100644
--- a/ui/vnc-clipboard.c
+++ b/ui/vnc-clipboard.c
@@ -69,6 +69,11 @@ static uint8_t *inflate_buffer(uint8_t *in, uint32_t in_len, uint32_t *size)
         }
     }
 
+    *size = stream.total_out;
+    inflateEnd(&stream);
+
+    return out;
+
 err_end:
     inflateEnd(&stream);
 err:
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PULL 3/3] hw/audio/virtio-sound: mark the device as unmigratable
  2023-12-04  8:08 [PULL 0/3] UI patches marcandre.lureau
  2023-12-04  8:08 ` [PULL 1/3] ui/gtk-egl: move function calls back to regular code path marcandre.lureau
  2023-12-04  8:08 ` [PULL 2/3] ui/vnc-clipboard: fix inflate_buffer marcandre.lureau
@ 2023-12-04  8:08 ` marcandre.lureau
  2023-12-04 14:46 ` [PULL 0/3] UI patches Stefan Hajnoczi
  3 siblings, 0 replies; 5+ messages in thread
From: marcandre.lureau @ 2023-12-04  8:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S. Tsirkin, Manos Pitsidianakis, Gerd Hoffmann, stefanha,
	Marc-André Lureau, Volker Rümelin

From: Volker Rümelin <vr_qemu@t-online.de>

The virtio-sound device is currently not migratable. QEMU crashes
on the source machine at some point during the migration with a
segmentation fault.

Even with this bug fixed, the virtio-sound device doesn't migrate
the state of the audio streams. For example, running streams leave
the device on the destination machine in a broken condition.

Mark the device as unmigratable until these issues have been fixed.

Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231204072837.6058-1-vr_qemu@t-online.de>
---
 hw/audio/virtio-snd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c
index 2fe966e311..b10fad1228 100644
--- a/hw/audio/virtio-snd.c
+++ b/hw/audio/virtio-snd.c
@@ -68,6 +68,7 @@ static const VMStateDescription vmstate_virtio_snd_device = {
 
 static const VMStateDescription vmstate_virtio_snd = {
     .name = TYPE_VIRTIO_SND,
+    .unmigratable = 1,
     .minimum_version_id = VIRTIO_SOUND_VM_VERSION,
     .version_id = VIRTIO_SOUND_VM_VERSION,
     .fields = (VMStateField[]) {
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PULL 0/3] UI patches
  2023-12-04  8:08 [PULL 0/3] UI patches marcandre.lureau
                   ` (2 preceding siblings ...)
  2023-12-04  8:08 ` [PULL 3/3] hw/audio/virtio-sound: mark the device as unmigratable marcandre.lureau
@ 2023-12-04 14:46 ` Stefan Hajnoczi
  3 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2023-12-04 14:46 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: qemu-devel, Michael S. Tsirkin, Manos Pitsidianakis,
	Gerd Hoffmann, stefanha, Marc-André Lureau

[-- Attachment #1: Type: text/plain, Size: 115 bytes --]

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-12-04 14:47 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-04  8:08 [PULL 0/3] UI patches marcandre.lureau
2023-12-04  8:08 ` [PULL 1/3] ui/gtk-egl: move function calls back to regular code path marcandre.lureau
2023-12-04  8:08 ` [PULL 2/3] ui/vnc-clipboard: fix inflate_buffer marcandre.lureau
2023-12-04  8:08 ` [PULL 3/3] hw/audio/virtio-sound: mark the device as unmigratable marcandre.lureau
2023-12-04 14:46 ` [PULL 0/3] UI patches Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).