qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.7 v4 00/36] Various memory leak fixes


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH for-2.7 v4 00/36] Various memory leak fixes
Date: Fri, 05 Aug 2016 18:01:18 +0000

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 <address@hidden> wrote:

> From: Marc-André Lureau <address@hidden>
>
> 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]