061a75b436
- qemu: Fix segmentation fault in qemuDomainUndefineFlags 823a62ec-qemu-fix-undefine-crash.patch - Update to libvirt 8.1.0 - Many incremental improvements and bug fixes, see https://libvirt.org/news.html#v8-1-0-2022-03-01 - Dropped patches: 3be5ba11-libvirt-guests-install.patch, 16172741-libvirt-guests-manpage.patch, 8eb44616-remove-sysconfig-files.patch, 31e937fb-libxl-save-lock-indicator.patch, 105dace2-revert-virProcessGetStatInfo.patch, e0241f33-libxl-mark-allocated-graphics-ports.patch, 18ec405a-libxl-release-graphics-ports.patch, 76deb656-qemu-fix-snapshot-revert.patch, 454b927d-libxl-fix-dom-restore.patch OBS-URL: https://build.opensuse.org/request/show/959272 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=925
43 lines
2.8 KiB
Diff
43 lines
2.8 KiB
Diff
commit 823a62ec8aac4fb75e6e281164f3eb56ae47597c
|
|
Author: Boris Fiuczynski <fiuczy@linux.ibm.com>
|
|
Date: Tue Mar 1 18:47:59 2022 +0100
|
|
|
|
qemu: segmentation fault in virtqemud executing qemuDomainUndefineFlags
|
|
|
|
Commit 5adfb3472342741c443ac91dee0abb18b5a3d038 causes a segmentation fault.
|
|
|
|
Stack trace of thread 664419:
|
|
#0 0x000003ff62ec553c in qemuDomainUndefineFlags (dom=0x3ff6c002810, flags=<optimized out>) at ../src/qemu/qemu_driver.c:6618
|
|
#1 0x000003ff876a7e5c in virDomainUndefineFlags (domain=domain@entry=0x3ff6c002810, flags=<optimized out>) at ../src/libvirt-domain.c:6519
|
|
#2 0x000002aa2b64a808 in remoteDispatchDomainUndefineFlags (server=0x2aa2c3d7880, msg=0x2aa2c3d2770, args=<optimized out>, rerr=0x3ff8287b950, client=<optimized out>)
|
|
at src/remote/remote_daemon_dispatch_stubs.h:13080
|
|
#3 remoteDispatchDomainUndefineFlagsHelper (server=0x2aa2c3d7880, client=<optimized out>, msg=0x2aa2c3d2770, rerr=0x3ff8287b950, args=<optimized out>, ret=0x0)
|
|
at src/remote/remote_daemon_dispatch_stubs.h:13059
|
|
#4 0x000003ff8758bbf4 in virNetServerProgramDispatchCall (msg=0x2aa2c3d2770, client=0x2aa2c3e3050, server=0x2aa2c3d7880, prog=0x2aa2c3d8010)
|
|
at ../src/rpc/virnetserverprogram.c:428
|
|
#5 virNetServerProgramDispatch (prog=0x2aa2c3d8010, server=server@entry=0x2aa2c3d7880, client=0x2aa2c3e3050, msg=0x2aa2c3d2770) at ../src/rpc/virnetserverprogram.c:302
|
|
#6 0x000003ff8758c260 in virNetServerProcessMsg (msg=<optimized out>, prog=<optimized out>, client=<optimized out>, srv=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:140
|
|
#7 virNetServerHandleJob (jobOpaque=0x2aa2c3e2d30, opaque=0x2aa2c3d7880) at ../src/rpc/virnetserver.c:160
|
|
#8 0x000003ff874c49aa in virThreadPoolWorker (opaque=<optimized out>) at ../src/util/virthreadpool.c:164
|
|
#9 0x000003ff874c3f62 in virThreadHelper (data=<optimized out>) at ../src/util/virthread.c:256
|
|
#10 0x000003ff86c1cf8c in start_thread () from /lib64/libc.so.6
|
|
#11 0x000003ff86c9650e in thread_start () from /lib64/libc.so.6
|
|
|
|
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
|
|
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
|
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
|
Index: libvirt-8.1.0/src/qemu/qemu_driver.c
|
|
===================================================================
|
|
--- libvirt-8.1.0.orig/src/qemu/qemu_driver.c
|
|
+++ libvirt-8.1.0/src/qemu/qemu_driver.c
|
|
@@ -6615,7 +6615,7 @@ qemuDomainUndefineFlags(virDomainPtr dom
|
|
}
|
|
}
|
|
|
|
- if (vm->def->os.loader->nvram) {
|
|
+ if (vm->def->os.loader && vm->def->os.loader->nvram) {
|
|
nvram_path = g_strdup(vm->def->os.loader->nvram);
|
|
} else if (vm->def->os.firmware == VIR_DOMAIN_OS_DEF_FIRMWARE_EFI) {
|
|
qemuDomainNVRAMPathFormat(cfg, vm->def, &nvram_path);
|