Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qemu for openSUSE:Factory checked in 
at 2021-01-29 14:56:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qemu (Old)
 and      /work/SRC/openSUSE:Factory/.qemu.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qemu"

Fri Jan 29 14:56:11 2021 rev:193 rq:867020 version:5.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/qemu/qemu.changes        2021-01-26 
14:44:52.395266688 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new.28504/qemu.changes     2021-01-29 
14:56:39.941471308 +0100
@@ -1,0 +2,8 @@
+Tue Jan 26 17:52:09 UTC 2021 - Bruce Rogers <brog...@suse.com>
+
+- Fix two additional cases of qemu crashing due to qemu module
+  packages not being loaded.
+  qom-handle-case-of-chardev-spice-module-.patch
+  spice-app-avoid-crash-when-core-spice-mo.patch
+
+-------------------------------------------------------------------

New:
----
  qom-handle-case-of-chardev-spice-module-.patch
  spice-app-avoid-crash-when-core-spice-mo.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qemu.spec ++++++
--- /var/tmp/diff_new_pack.EcqtqO/_old  2021-01-29 14:56:41.877474157 +0100
+++ /var/tmp/diff_new_pack.EcqtqO/_new  2021-01-29 14:56:41.881474163 +0100
@@ -182,6 +182,8 @@
 Patch00048:     usb-Help-compiler-out-to-avoid-a-warning.patch
 Patch00049:     iotests-Fix-_send_qemu_cmd-with-bash-5.1.patch
 Patch00050:     module-for-virtio-gpu-pre-load-module-to.patch
+Patch00051:     spice-app-avoid-crash-when-core-spice-mo.patch
+Patch00052:     qom-handle-case-of-chardev-spice-module-.patch
 # Patches applied in roms/seabios/:
 Patch01000:     seabios-use-python2-explicitly-as-needed.patch
 Patch01001:     seabios-switch-to-python3-as-needed.patch
@@ -1052,6 +1054,8 @@
 %endif
 %patch00049 -p1
 %patch00050 -p1
+%patch00051 -p1
+%patch00052 -p1
 %patch01000 -p1
 %patch01001 -p1
 %patch01002 -p1

++++++ bundles.tar.xz ++++++
Binary files old/553032db17440f8de011390e5a1cfddd13751b0b.bundle and 
new/553032db17440f8de011390e5a1cfddd13751b0b.bundle differ




++++++ qom-handle-case-of-chardev-spice-module-.patch ++++++
From: Bruce Rogers <brog...@suse.com>
Date: Mon, 25 Jan 2021 22:09:27 -0700
Subject: qom: handle case of chardev-spice module unavailability

When qemu is built with modules, but a given module doesn't load
qemu should handle that gracefully. When chardev-spice.so isn't
able to be loaded and qemu is invoked with -display spice-app,
qemu will reach an abort call. Explicitly detect these conditions
and error out in a normal way before we reach that code.

Signed-off-by: Bruce Rogers <brog...@suse.com>
---
 qom/object.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/qom/object.c b/qom/object.c
index 6f301fec34d103b0b07bc41d107c..0dec164192a55d3d9d955d445db9 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -236,6 +236,12 @@ static bool type_is_ancestor(TypeImpl *type, TypeImpl 
*target_type)
             return true;
         }
 
+
+        if (type->parent && !strcmp(type->parent, "chardev-spiceport")) {
+            if (!type->parent_type && !type_get_by_name(type->parent)) {
+                return false;
+            }
+        }
         type = type_get_parent(type);
     }
 
++++++ spice-app-avoid-crash-when-core-spice-mo.patch ++++++
From: Bruce Rogers <brog...@suse.com>
Date: Mon, 25 Jan 2021 21:05:05 -0700
Subject: spice-app: avoid crash when core spice module isn't loaded

When qemu is built with modules, but a given module doesn't load
qemu should handle that gracefully. When ui-spice-core.so isn't
able to be loaded and qemu is invoked with -display spice-app or
-spice, qemu will dereference a null pointer. With this change we
check the pointer before dereferencing and error out in a normal
way.

Signed-off-by: Bruce Rogers <brog...@suse.com>
---
 ui/spice-app.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/ui/spice-app.c b/ui/spice-app.c
index 026124ef56a0ef26fbe3cf0a1aba..8ded9024a376da5c4802c1f87fd7 100644
--- a/ui/spice-app.c
+++ b/ui/spice-app.c
@@ -129,6 +129,7 @@ static void spice_app_atexit(void)
 static void spice_app_display_early_init(DisplayOptions *opts)
 {
     QemuOpts *qopts;
+    QemuOptsList *list;
     GError *err = NULL;
 
     if (opts->has_full_screen) {
@@ -159,11 +160,16 @@ static void spice_app_display_early_init(DisplayOptions 
*opts)
             exit(1);
         }
     }
+    list = qemu_find_opts("spice");
+    if (list == NULL) {
+        error_report("spice-app missing spice support\n");
+       exit(1);
+    }
 
     type_register(&char_vc_type_info);
 
     sock_path = g_strjoin("", app_dir, "/", "spice.sock", NULL);
-    qopts = qemu_opts_create(qemu_find_opts("spice"), NULL, 0, &error_abort);
+    qopts = qemu_opts_create(list, NULL, 0, &error_abort);
     qemu_opt_set(qopts, "disable-ticketing", "on", &error_abort);
     qemu_opt_set(qopts, "unix", "on", &error_abort);
     qemu_opt_set(qopts, "addr", sock_path, &error_abort);

Reply via email to