Hi Peter, All patches have a reviewed-by tag now, Given the mix of domains, I can send you a pull request. What do you think?
thanks On Fri, Aug 5, 2016 at 12:26 PM <marcandre.lur...@redhat.com> wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > Hi, > > Thanks to AddressSanitizer (ASAN), I found a number of direct leaks > worth fixing. Note that there are probably many indirect leaks left (I > am adding some here), I haven't investigated much yet. > > There are still a number of direct leaks remaining, in particular in > the tests, but my libc doesn't give me good backtraces. > > In order to easily switch to asan-enabled build, I make use of make > CFLAGS argument, which is why the first patch is also there. > > v4: > - document qtest_add_data_func_full seperately > - add g_(s)list_free_full in glib-compat > - simplify tcp_chr_close() > - move dma_buf_commit() down before the early return case > - dropped a qdist leak patch already applied > > v3: > - add glib<2.34 fallback for g_test_add_data_func_full() using > g_test_add_vtable() with an explicit comment > - add and use a tcp_chr_free_connection(), from tcp_chr_disconnect() > (suggested by Paolo) > - remove bad comment from "free MuxDriver" patch (Eric) > - replace GFunc casts with a qemu_g_func_free() inline (suggested by Eric) > - replace CFLAGS override patch with a toplevel CFLAGS filter > (suggested by Paolo) > - drop a patch already merged upstream > - update reviewed-by tags (28/36) > > v2: > - split "pci-bus: do not allocate and leak bsel" as a seperate patch, > since the direct leak looks like a bug > - hook virtio_input_finalize to the abstract base class > - use mkdtemp in test-io-channel-command > - fix pc-cpu-test commit message > - move the sglist destruction inside of ncq_err, call dma_buf_commit > in ide_dma_cb, as suggested by John Snow > - fix build with glib 2.22 > - add the given reviewed-by tags (22/37, 15 left) > > Marc-André Lureau (36): > build-sys: fix building with make CFLAGS=.. argument > tests: fix test-qga leaks > glib-compat: add g_(s)list_free_full() > qga: free the whole blacklist > qga: free remaining leaking state > tests: fix test-cutils leaks > tests: fix test-vmstate leaks > tests: fix test-iov leaks > tests: fix check-qom-interface leaks > tests: fix check-qom-proplist leaks > tests: fix small leak in test-io-channel-command > tests: fix leak in test-string-input-visitor > portio: keep references on portio > numa: do not leak NumaOptions > pc: simplify passing qemu_irq > pc: don't leak a20_line > machine: use class base init generated name > acpi-build: fix array leak > char: free the tcp connection data when closing > char: free MuxDriver when closing > tests: fix qom-test leaks > pc: free i8259 > pc: keep gsi reference > ahci: free irqs array > sd: free timer > qjson: free str > virtio-input: free config list > ipmi: free extern timer > usb: free USBDevice.strings > usb: free leaking path > bus: simplify name handling > tests: add qtest_add_data_func_full > tests: pc-cpu-test leaks fixes > tests: fix rsp leak in postcopy-test > ahci: fix sglist leak on retry > tests: fix postcopy-test leaks > > Makefile | 3 +- > hw/audio/gus.c | 9 ++++-- > hw/audio/sb16.c | 4 ++- > hw/block/fdc.c | 4 ++- > hw/char/parallel.c | 3 +- > hw/core/bus.c | 21 ++++---------- > hw/core/machine.c | 1 + > hw/display/vga-isa.c | 8 ++++-- > hw/dma/i8257.c | 6 ++-- > hw/i386/acpi-build.c | 4 +-- > hw/i386/pc.c | 9 +++--- > hw/i386/pc_piix.c | 17 ++++++------ > hw/i386/pc_q35.c | 15 +++++----- > hw/ide/ahci.c | 4 +-- > hw/ide/core.c | 7 +++-- > hw/input/pckbd.c | 4 +-- > hw/input/virtio-input.c | 11 ++++++++ > hw/ipmi/ipmi_bmc_extern.c | 9 ++++++ > hw/isa/isa-bus.c | 14 ++++------ > hw/sd/sd.c | 9 ++++++ > hw/usb/bus.c | 7 +++++ > hw/usb/desc.c | 1 + > include/glib-compat.h | 24 ++++++++++++++++ > include/hw/boards.h | 2 +- > include/hw/i386/pc.h | 4 +-- > include/hw/ide/internal.h | 2 ++ > include/hw/isa/i8257.h | 2 ++ > include/hw/isa/isa.h | 5 +++- > include/hw/qdev-core.h | 2 +- > migration/qjson.c | 1 + > numa.c | 15 +++++----- > pc-bios/optionrom/Makefile | 2 -- > qemu-char.c | 58 > ++++++++++++++++++++++++++------------- > qga/guest-agent-command-state.c | 6 ++++ > qga/guest-agent-core.h | 1 + > qga/main.c | 13 +++++---- > tests/check-qom-interface.c | 1 + > tests/check-qom-proplist.c | 16 +++++++++++ > tests/libqtest.c | 15 ++++++++++ > tests/libqtest.h | 17 ++++++++++++ > tests/pc-cpu-test.c | 24 ++++++++++++---- > tests/postcopy-test.c | 7 +++-- > tests/qom-test.c | 5 ++-- > tests/test-cutils.c | 24 ++++++++++------ > tests/test-io-channel-command.c | 20 +++++++++----- > tests/test-iov.c | 7 +++++ > tests/test-qga.c | 8 +++++- > tests/test-string-input-visitor.c | 1 + > tests/test-vmstate.c | 8 ++++-- > 49 files changed, 331 insertions(+), 129 deletions(-) > > -- > 2.9.0 > > > -- Marc-André Lureau