qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] fc3405: qtest: fix a memory leak


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] fc3405: qtest: fix a memory leak
Date: Thu, 02 Mar 2017 09:45:11 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: fc34059f080680b560b3f656988fdd9a75cd0eab
      
https://github.com/qemu/qemu/commit/fc34059f080680b560b3f656988fdd9a75cd0eab
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M qtest.c

  Log Message:
  -----------
  qtest: fix a memory leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: dc491fead04a92a612df93b85b0ebf9dcc3f6684
      
https://github.com/qemu/qemu/commit/dc491fead04a92a612df93b85b0ebf9dcc3f6684
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/libqos/usb.c
    M tests/postcopy-test.c
    M tests/pvpanic-test.c
    M tests/test-filter-mirror.c
    M tests/test-filter-redirector.c
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  tests: fix qmp response leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>


  Commit: 14324f585d76abd8a609c119d627503e6a0961be
      
https://github.com/qemu/qemu/commit/14324f585d76abd8a609c119d627503e6a0961be
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/test-io-channel-command.c

  Log Message:
  -----------
  tests: fix leaks in test-io-channel-command

No need for strdup, fix leaks when socat is missing.

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: "Daniel P. Berrange" <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>


  Commit: e703dcbaeef6973e788a9a8d19e53094b50c0a7c
      
https://github.com/qemu/qemu/commit/e703dcbaeef6973e788a9a8d19e53094b50c0a7c
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M include/qemu/timer.h
    M util/qemu-timer.c

  Log Message:
  -----------
  timer: use an inline function for free

Similarly to allocation, do it from an inline function. This allows
tests to only use the headers for allocation/free of timer.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 461a86202214c9c3daf3222a9a655206874bd970
      
https://github.com/qemu/qemu/commit/461a86202214c9c3daf3222a9a655206874bd970
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M include/glib-compat.h
    M tests/libqtest.c

  Log Message:
  -----------
  glib-compat: add g_test_add_data_func_full fallback

Move the fallback from qtest_add_data_func_full() to glib-compat.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 072bdb07c5ef8b0351f9973ab5bba9e76be978a9
      
https://github.com/qemu/qemu/commit/072bdb07c5ef8b0351f9973ab5bba9e76be978a9
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M hw/core/ptimer.c
    M include/hw/ptimer.h
    M tests/ptimer-test-stubs.c
    M tests/ptimer-test.c

  Log Message:
  -----------
  tests: fix ptimer leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: f3f8e81150953f2829d39eef9f91f02a38a0c340
      
https://github.com/qemu/qemu/commit/f3f8e81150953f2829d39eef9f91f02a38a0c340
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/endianness-test.c

  Log Message:
  -----------
  tests: fix endianness-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: fb6faea888c1e54059aed7f87be93de623b346ee
      
https://github.com/qemu/qemu/commit/fb6faea888c1e54059aed7f87be93de623b346ee
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/q35-test.c

  Log Message:
  -----------
  tests: fix q35-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 0c0eb30260b424d2a68603b89f1d829db18772c2
      
https://github.com/qemu/qemu/commit/0c0eb30260b424d2a68603b89f1d829db18772c2
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/libqos/virtio-pci.c
    M tests/libqos/virtio-pci.h
    M tests/vhost-user-test.c

  Log Message:
  -----------
  tests: fix vhost-user-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: f5aa4bdc766190b95d18be27d5cdf4d80c35b33c
      
https://github.com/qemu/qemu/commit/f5aa4bdc766190b95d18be27d5cdf4d80c35b33c
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/ide-test.c

  Log Message:
  -----------
  tests: fix ide-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: John Snow <address@hidden>


  Commit: 2c8f86961b6eaac705be21bc98299f5517eb0b6b
      
https://github.com/qemu/qemu/commit/2c8f86961b6eaac705be21bc98299f5517eb0b6b
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/hd-geo-test.c

  Log Message:
  -----------
  tests: fix hd-geo-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: f11dc27bcc031b9dc90ffd82c503b55f83c246ca
      
https://github.com/qemu/qemu/commit/f11dc27bcc031b9dc90ffd82c503b55f83c246ca
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/bios-tables-test.c

  Log Message:
  -----------
  tests: fix bios-tables-test leak

The inside array should be free too.
Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 3f5f5d04cdc8f8f2212fa9d391020df9c9922040
      
https://github.com/qemu/qemu/commit/3f5f5d04cdc8f8f2212fa9d391020df9c9922040
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/ipmi-kcs-test.c

  Log Message:
  -----------
  tests: fix ipmi-kcs-test leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 2607b660e9b9edb11384520249b9b683e1e8c8ab
      
https://github.com/qemu/qemu/commit/2607b660e9b9edb11384520249b9b683e1e8c8ab
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/ipmi-bt-test.c

  Log Message:
  -----------
  tests: fix ipmi-bt-test leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: f0c9d64a68b776374ec4732424a3e27753ce37b6
      
https://github.com/qemu/qemu/commit/f0c9d64a68b776374ec4732424a3e27753ce37b6
  Author: Igor Mammedov <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  pc: pcihp: avoid adding ACPI_PCIHP_PROP_BSEL twice

PCI hotplug for bridges was introduced only since 2.0 however
  acpi_set_bsel()->object_property_add_uint32_ptr(bus, ACPI_PCIHP_PROP_BSEL)
didn't take in account that for legacy mode (1.7) when
PCI hotplug for bridges is unavailable and ACPI_PCIHP_PROP_BSEL property
the only bus "PCI.0' has been created earlier at acpi_pcihp_init() time.

We managed to live with it only because of error rised by adding
a duplicate property in acpi_set_bsel() has been ignored which
resulted in useless leaking of just allocated (int)bus_bsel.

Issue affects only 1.7 machine type as ACPI tables supported by
QEMU were introduced at that time, but there wasn't PCI hotplug
for bridges till the next release (2.0).

Fix it by removing duplicate ACPI_PCIHP_PROP_BSEL intialization
in acpi_pcihp_init() and doing it only in one place acpi_set_pci_info().

PS:
do not ignore error returned by object_property_add_uint32_ptr()
and abort QEMU since it's programming error which should be fixed
instead of being ignored.

Signed-off-by: Igor Mammedov <address@hidden>
Reported-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
[ Marc-André - Remove now unused ACPI_PCIHP_LEGACY_SIZE ]
Signed-off-by: Marc-André Lureau <address@hidden>


  Commit: 6afff1ffa36909b164847ff276cc9cb575058f4c
      
https://github.com/qemu/qemu/commit/6afff1ffa36909b164847ff276cc9cb575058f4c
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/eepro100-test.c

  Log Message:
  -----------
  tests: fix eepro100-test leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>


  Commit: 34779e8c3991f7fcd74b2045478abcef67dbeb15
      
https://github.com/qemu/qemu/commit/34779e8c3991f7fcd74b2045478abcef67dbeb15
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/tco-test.c

  Log Message:
  -----------
  tests: fix tco-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 8829e16f5ef7034ab730370ba34ce2c835da17c4
      
https://github.com/qemu/qemu/commit/8829e16f5ef7034ab730370ba34ce2c835da17c4
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/e1000-test.c

  Log Message:
  -----------
  tests: fix e1000-test leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 1bab33ab4ab4702f53012551cad333beb270f30d
      
https://github.com/qemu/qemu/commit/1bab33ab4ab4702f53012551cad333beb270f30d
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/i440fx-test.c

  Log Message:
  -----------
  tests: fix i440fx-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 448fe3c1349b540c66e048788dd98b9c80775c53
      
https://github.com/qemu/qemu/commit/448fe3c1349b540c66e048788dd98b9c80775c53
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/e1000e-test.c

  Log Message:
  -----------
  tests: fix e1000e leaks

Spotted by ASAN.

This hunk adds an assertion. It checks that we're finding no more than
one e1000e device: each hit allocates, but there is only one g_free().

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>


  Commit: 3caab54d081bb3ce1b237d9628dd2b8ee7680159
      
https://github.com/qemu/qemu/commit/3caab54d081bb3ce1b237d9628dd2b8ee7680159
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/virtio-scsi-test.c

  Log Message:
  -----------
  tests: fix virtio-scsi-test leak

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 2b880bcdbeb87b9cb4e325dd6e872373458f82d9
      
https://github.com/qemu/qemu/commit/2b880bcdbeb87b9cb4e325dd6e872373458f82d9
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/virtio-9p-test.c

  Log Message:
  -----------
  tests: fix virtio-9p-test leaks

Spotted by ASAN.

Cc: "Aneesh Kumar K.V" <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>


  Commit: 675f22c6d3b0b4b66efa27f978f2bd9575b5a5ab
      
https://github.com/qemu/qemu/commit/675f22c6d3b0b4b66efa27f978f2bd9575b5a5ab
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M hw/acpi/piix4.c
    M hw/core/bus.c

  Log Message:
  -----------
  bus: do not unref hotplug handler

Apparently, none of the bus owner give a reference to the hotplug
handler property, do not unref it on bus release.

Furthermore, a bus is allowed to be its own hotplug handler, which can
be seen in qbus_set_bus_hotplug_handler() function. However, in this
case, the reference can't be given to the property, or this will create
a cyclic dependency and the bus will never be free.

Each bus owner should manage the lifecycle of the hotplug handler.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: cd7bc87868d534f95e928cad98e2a52df7695771
      
https://github.com/qemu/qemu/commit/cd7bc87868d534f95e928cad98e2a52df7695771
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M hw/usb/dev-storage.c
    M hw/usb/dev-uas.c

  Log Message:
  -----------
  usb: release the created buses

Leaks spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>


  Commit: d3510ff9d7e78c89ee41175082ae5390e6e5b285
      
https://github.com/qemu/qemu/commit/d3510ff9d7e78c89ee41175082ae5390e6e5b285
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/usb-hcd-ehci-test.c

  Log Message:
  -----------
  tests: allows to run single test in usb-hcd-ehci-test

pci_init() shouldn't be a test function, but instead called before any
test. This allows to run a single test with -p /x86_64/ehci/....

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>


  Commit: 62030ed135e4cfb960cb626510cbb3ea77bb9ef9
      
https://github.com/qemu/qemu/commit/62030ed135e4cfb960cb626510cbb3ea77bb9ef9
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/libqos/usb.c
    M tests/libqos/usb.h
    M tests/usb-hcd-ehci-test.c
    M tests/usb-hcd-uhci-test.c

  Log Message:
  -----------
  tests: fix usb-test leaks

Fix the usb tests leaks.

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>


  Commit: c4523aae0664aecaa366d45e3d0f3d810ca33062
      
https://github.com/qemu/qemu/commit/c4523aae0664aecaa366d45e3d0f3d810ca33062
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/libqos/virtio-pci.c
    M tests/libqos/virtio-pci.h

  Log Message:
  -----------
  tests: add specialized device_find function

Allow specifying which slot to look for the device.

This will be used in the following patch to avoid leaking when multiple
devices exists and we want to lookup the hotplug one.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: 80e1eea37a25a7696137e680285e36d0bfdc9f34
      
https://github.com/qemu/qemu/commit/80e1eea37a25a7696137e680285e36d0bfdc9f34
  Author: Marc-André Lureau <address@hidden>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
    M tests/libqos/virtio-pci.c
    M tests/virtio-blk-test.c

  Log Message:
  -----------
  tests: fix virtio-blk-test leaks

Use qvirtio_pci_device_find_slot() to avoid leaking the non-hp
device. Add assert() to avoid further leaks in the future.

Use qvirtio_pci_device_free() to correctly free QVirtioPCIDevice.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Eric Blake <address@hidden>


  Commit: c9fc677a35e6e00cdf00c7d085cbd74e0b90b2e6
      
https://github.com/qemu/qemu/commit/c9fc677a35e6e00cdf00c7d085cbd74e0b90b2e6
  Author: Peter Maydell <address@hidden>
  Date:   2017-03-02 (Thu, 02 Mar 2017)

  Changed paths:
    M hw/acpi/pcihp.c
    M hw/acpi/piix4.c
    M hw/core/bus.c
    M hw/core/ptimer.c
    M hw/i386/acpi-build.c
    M hw/usb/dev-storage.c
    M hw/usb/dev-uas.c
    M include/glib-compat.h
    M include/hw/ptimer.h
    M include/qemu/timer.h
    M qtest.c
    M tests/bios-tables-test.c
    M tests/e1000-test.c
    M tests/e1000e-test.c
    M tests/eepro100-test.c
    M tests/endianness-test.c
    M tests/hd-geo-test.c
    M tests/i440fx-test.c
    M tests/ide-test.c
    M tests/ipmi-bt-test.c
    M tests/ipmi-kcs-test.c
    M tests/libqos/usb.c
    M tests/libqos/usb.h
    M tests/libqos/virtio-pci.c
    M tests/libqos/virtio-pci.h
    M tests/libqtest.c
    M tests/postcopy-test.c
    M tests/ptimer-test-stubs.c
    M tests/ptimer-test.c
    M tests/pvpanic-test.c
    M tests/q35-test.c
    M tests/tco-test.c
    M tests/test-filter-mirror.c
    M tests/test-filter-redirector.c
    M tests/test-io-channel-command.c
    M tests/usb-hcd-ehci-test.c
    M tests/usb-hcd-uhci-test.c
    M tests/vhost-user-test.c
    M tests/virtio-9p-test.c
    M tests/virtio-blk-test.c
    M tests/virtio-scsi-test.c
    M util/qemu-timer.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/elmarco/tags/leak-pull-request' into 
staging

# gpg: Signature made Wed 01 Mar 2017 09:02:53 GMT
# gpg:                using RSA key 0xDAE8E10975969CE5
# gpg: Good signature from "Marc-André Lureau <address@hidden>"
# gpg:                 aka "Marc-André Lureau <address@hidden>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5

* remotes/elmarco/tags/leak-pull-request: (28 commits)
  tests: fix virtio-blk-test leaks
  tests: add specialized device_find function
  tests: fix usb-test leaks
  tests: allows to run single test in usb-hcd-ehci-test
  usb: release the created buses
  bus: do not unref hotplug handler
  tests: fix virtio-9p-test leaks
  tests: fix virtio-scsi-test leak
  tests: fix e1000e leaks
  tests: fix i440fx-test leaks
  tests: fix e1000-test leak
  tests: fix tco-test leaks
  tests: fix eepro100-test leak
  pc: pcihp: avoid adding ACPI_PCIHP_PROP_BSEL twice
  tests: fix ipmi-bt-test leak
  tests: fix ipmi-kcs-test leak
  tests: fix bios-tables-test leak
  tests: fix hd-geo-test leaks
  tests: fix ide-test leaks
  tests: fix vhost-user-test leaks
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/ab711e216b8a...c9fc677a35e6

reply via email to

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