[libvirt PATCH 1/2] virQEMUCapsGetMachineTypesCaps: Use GPtrArray

Tim Wiederhake twiederh at redhat.com
Fri Jul 9 11:05:58 UTC 2021


On Fri, 2021-07-09 at 12:05 +0200, Michal Prívozník wrote:
> On 7/8/21 4:28 PM, Tim Wiederhake wrote:
> > This simplyfies the code a bit and removes one "goto", one
> > "VIR_FREE",
> > and one "VIR_INSERT_ELEMENT_COPY".
> > 
> > Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
> > ---
> >  src/qemu/qemu_capabilities.c | 37 ++++++++++++++++++----------------
> > --
> >  1 file changed, 18 insertions(+), 19 deletions(-)
> > 
> 
> I'm not exactly sure what is causing this, but with this patch libvirtd
> crashes for me when I try to fetch capabilities:
> 
> ==16567== Thread 3 rpc-worker:
> ==16567== Invalid read of size 8
> ==16567==    at 0x49CB01A: virCapabilitiesFormatGuestXML
> (capabilities.c:1259)
> ==16567==    by 0x49CB6AB: virCapabilitiesFormatXML
> (capabilities.c:1355)
> ==16567==    by 0xAE898B1: qemuConnectGetCapabilities
> (qemu_driver.c:1316)
> ==16567==    by 0x4C47014: virConnectGetCapabilities (libvirt-
> host.c:467)
> ==16567==    by 0x1328FD: remoteDispatchConnectGetCapabilities
> (remote_daemon_dispatch_stubs.h:766)
> ==16567==    by 0x1328A5: remoteDispatchConnectGetCapabilitiesHelper
> (remote_daemon_dispatch_stubs.h:748)
> ==16567==    by 0x4AB4C0F: virNetServerProgramDispatchCall
> (virnetserverprogram.c:428)
> ==16567==    by 0x4AB478A: virNetServerProgramDispatch
> (virnetserverprogram.c:302)
> ==16567==    by 0x4ABBE71: virNetServerProcessMsg (virnetserver.c:135)
> ==16567==    by 0x4ABBF31: virNetServerHandleJob (virnetserver.c:152)
> ==16567==    by 0x49AC6D5: virThreadPoolWorker (virthreadpool.c:159)
> ==16567==    by 0x49ABBEB: virThreadHelper (virthread.c:241)
> ==16567==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
> 
> Michal
> 

Weird. Pipeline passed for me:
https://gitlab.com/twiederh/libvirt/-/pipelines/333827544

Do you maybe have a reproducer for me, so I can investigate what's
going on here?

Thanks,
Tim




More information about the libvir-list mailing list