qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
@ 2020-03-07  3:07 Pan Nengyuan
  2020-03-07  3:16 ` no-reply
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Pan Nengyuan @ 2020-03-07  3:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: berrange, ehabkost, qemu-trivial, Pan Nengyuan, euler.robot,
	pbonzini, zhang.zhanghailiang

Fix a memory leak in qdev_get_gpio_out_connector().

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
---
 hw/core/qdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 3937d1eb1a..85f062def7 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -557,7 +557,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const char *name, int n,
 
 qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, int n)
 {
-    char *propname = g_strdup_printf("%s[%d]",
+    g_autofree char *propname = g_strdup_printf("%s[%d]",
                                      name ? name : "unnamed-gpio-out", n);
 
     qemu_irq ret = (qemu_irq)object_property_get_link(OBJECT(dev), propname,
-- 
2.18.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-07  3:07 [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector() Pan Nengyuan
@ 2020-03-07  3:16 ` no-reply
  2020-03-07 10:39 ` Marc-André Lureau
  2020-03-09 12:05 ` Laurent Vivier
  2 siblings, 0 replies; 8+ messages in thread
From: no-reply @ 2020-03-07  3:16 UTC (permalink / raw)
  To: pannengyuan
  Cc: berrange, ehabkost, qemu-trivial, pannengyuan, qemu-devel,
	euler.robot, pbonzini, zhang.zhanghailiang

Patchew URL: https://patchew.org/QEMU/20200307030756.5913-1-pannengyuan@huawei.com/



Hi,

This series failed the docker-clang@ubuntu build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-ubuntu V=1 NETWORK=1
time make docker-test-clang@ubuntu SHOW_ENV=1 J=14 NETWORK=1
=== TEST SCRIPT END ===

  GEN     hppa-softmmu/hmp-commands.h
  GEN     alpha-softmmu/hmp-commands.h
  GEN     microblazeel-softmmu/hmp-commands-info.h
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  GEN     microblazeel-softmmu/config-devices.h
  GEN     lm32-softmmu/hmp-commands-info.h
  GEN     microblazeel-softmmu/config-target.h
---
  GEN     i386-softmmu/config-devices.h
  GEN     i386-softmmu/config-target.h
  CC      i386-softmmu/exec.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  GEN     arm-softmmu/hmp-commands-info.h
  GEN     arm-softmmu/config-devices.h
  GEN     arm-softmmu/config-target.h
---
  CC      mips-softmmu/qapi/qapi-introspect.o
  CC      mips-softmmu/qapi/qapi-types-machine-target.o
  CC      mips-softmmu/qapi/qapi-types-misc-target.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      i386-softmmu/hw/i386/multiboot.o
  CC      mips64el-softmmu/hw/mips/gt64xxx_pci.o
  CC      hppa-softmmu/qapi/qapi-types-machine-target.o
---
  CC      moxie-softmmu/trace/control-target.o
  CC      or1k-softmmu/qapi/qapi-introspect.o
  CC      aarch64-softmmu/target/arm/monitor.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/memory_mapping.o
  CC      arm-softmmu/target/arm/arm-powerctl.o
  CC      nios2-softmmu/target/nios2/translate.o
---
  GEN     aarch64-softmmu/target/arm/decode-vfp-uncond.inc.c
  GEN     aarch64-softmmu/target/arm/decode-a32.inc.c
  GEN     aarch64-softmmu/target/arm/decode-a32-uncond.inc.c
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  GEN     aarch64-softmmu/target/arm/decode-t32.inc.c
  CC      ppc-softmmu/accel/stubs/kvm-stub.o
  CC      nios2-softmmu/target/nios2/cpu.o
---
  GEN     aarch64-softmmu/target/arm/decode-sve.inc.c
  CC      ppc-softmmu/hw/block/virtio-blk.o
  CC      ppc64-softmmu/hw/block/dataplane/virtio-blk.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  GEN     or1k-softmmu/target/openrisc/decode.inc.c
  CC      arm-softmmu/softmmu/main.o
  CC      or1k-softmmu/target/openrisc/exception_helper.o
---
  GEN     trace/generated-helpers.c
  CC      ppc64-softmmu/hw/display/virtio-gpu-3d.o
  CC      aarch64-softmmu/softmmu/main.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      or1k-softmmu/trace/control-target.o
  CC      aarch64-softmmu/gdbstub-xml.o
  CC      ppc64-softmmu/hw/display/vhost-user-gpu.o
---
  CC      ppc64-softmmu/hw/net/spapr_llan.o
  CC      ppc64-softmmu/hw/net/xilinx_ethlite.o
  CC      ppc64-softmmu/hw/net/virtio-net.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      riscv32-softmmu/tcg/optimize.o
  CC      ppc-softmmu/hw/scsi/vhost-scsi.o
  CC      ppc-softmmu/hw/scsi/vhost-user-scsi.o
---
  CC      sh4eb-softmmu/hw/virtio/vhost-user-blk-pci.o
  LINK    unicore32-softmmu/qemu-system-unicore32
  CC      s390x-softmmu/hw/virtio/vhost.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/hw/ppc/ppc4xx_pci.o
  CC      sh4-softmmu/hw/virtio/virtio-iommu-pci.o
  CC      sh4eb-softmmu/hw/virtio/vhost-user-input-pci.o
---
  CC      sh4-softmmu/hw/sh4/shix.o
  CC      sparc64-softmmu/hw/virtio/virtio-input-host-pci.o
  CC      riscv64-softmmu/hw/riscv/riscv_htif.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      sh4eb-softmmu/hw/virtio/virtio-scsi-pci.o
  CC      sh4eb-softmmu/hw/virtio/virtio-blk-pci.o
  CC      sparc-softmmu/softmmu/main.o
---
  GEN     riscv32-softmmu/target/riscv/decode_insn16.inc.c
  CC      riscv32-softmmu/target/riscv/op_helper.o
  CC      sh4-softmmu/qapi/qapi-commands.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    ppc-softmmu/qemu-system-ppc
  CC      sh4eb-softmmu/qapi/qapi-types.o
  CC      sh4eb-softmmu/qapi/qapi-visit-machine-target.o
---
  CC      s390x-softmmu/hw/s390x/3270-ccw.o
  CC      ppc64-softmmu/target/ppc/arch_dump.o
  CC      riscv64-softmmu/target/riscv/gdbstub.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/target/ppc/mmu-hash64.o
  CC      ppc64-softmmu/target/ppc/mmu-book3s-v3.o
  CC      sparc64-softmmu/target/sparc/ldst_helper.o
---
  CC      sparc64-softmmu/target/sparc/vis_helper.o
  CC      s390x-softmmu/hw/s390x/virtio-ccw.o
  CC      s390x-softmmu/hw/s390x/virtio-ccw-serial.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/target/ppc/compat.o
  CC      sparc64-softmmu/target/sparc/gdbstub.o
  GEN     trace/generated-helpers.c
  CC      sparc64-softmmu/trace/control-target.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  GEN     xtensa-softmmu/hmp-commands.h
  GEN     xtensaeb-softmmu/hmp-commands.h
  CC      ppc64-softmmu/target/ppc/mmu-radix64.o
  GEN     xtensaeb-softmmu/hmp-commands-info.h
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  GEN     xtensaeb-softmmu/config-devices.h
  GEN     xtensa-softmmu/hmp-commands-info.h
  GEN     xtensaeb-softmmu/config-target.h
---
  CC      s390x-softmmu/hw/s390x/virtio-ccw-gpu.o
  CC      riscv64-softmmu/trace/generated-helpers.o
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/dpd/decimal32.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/dpd/decimal64.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/target/ppc/../../libdecnumber/dpd/decimal128.o
  LINK    riscv64-softmmu/qemu-system-riscv64
  CC      s390x-softmmu/hw/s390x/virtio-ccw-input.o
---
  CC      ppc64-softmmu/softmmu/main.o
  CC      s390x-softmmu/hw/s390x/virtio-ccw-net.o
  CC      xtensaeb-softmmu/tcg/tcg-op-gvec.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      ppc64-softmmu/gdbstub-xml.o
  CC      x86_64-softmmu/accel/tcg/cpu-exec-common.o
  CC      x86_64-softmmu/accel/tcg/translate-all.o
---
  CC      aarch64-linux-user/target/arm/translate-a64.o
  CC      xtensa-softmmu/hw/virtio/virtio-balloon-pci.o
  CC      hppa-linux-user/target/hppa/helper.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      arm-linux-user/linux-user/flatload.o
  CC      xtensaeb-softmmu/hw/virtio/vhost-scsi-pci.o
  CC      cris-linux-user/linux-user/fd-trans.o
---
  CC      x86_64-softmmu/qapi/qapi-introspect.o
  CC      m68k-linux-user/tcg/tcg-op.o
  CC      microblaze-linux-user/tcg/tcg-common.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      xtensaeb-softmmu/target/xtensa/monitor.o
  CC      mips-linux-user/tcg/tcg-op-gvec.o
  CC      microblaze-linux-user/tcg/optimize.o
---
  CC      m68k-linux-user/linux-user/strace.o
  CC      mips-linux-user/linux-user/signal.o
  CC      mips64el-linux-user/tcg/optimize.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      m68k-linux-user/linux-user/mmap.o
  CC      x86_64-softmmu/target/i386/excp_helper.o
  CC      microblazeel-linux-user/linux-user/main.o
---
  CC      i386-linux-user/target/i386/helper.o
  CC      m68k-linux-user/linux-user/signal.o
  CC      i386-linux-user/target/i386/cpu.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      mips-linux-user/linux-user/elfload.o
  CC      mips-linux-user/linux-user/linuxload.o
  CC      mips-linux-user/linux-user/uaccess.o
---
  LINK    xtensa-linux-user/qemu-xtensa
  LINK    xtensaeb-linux-user/qemu-xtensaeb
  LINK    x86_64-linux-user/qemu-x86_64
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
rm tests/qemu-iotests/socket_scm_helper.o
make[1]: Entering directory '/tmp/qemu-test/src/slirp'
make[1]: Nothing to be done for 'all'.
---
  CC      f128_add.o
  CC      f128_sub.o
  CC      f128_mul.o
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  CC      f128_mulAdd.o
  CC      f128_div.o
  CC      f128_rem.o
---
  CC      s_propagateNaNF128UI.o
  LINK    tests/test-throttle
  AR      libtestfloat.a
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  AR      libsoftfloat.a
  LINK    tests/test-thread-pool
  LINK    tests/test-hbitmap
  LINK    tests/test-bdrv-drain
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    fp-test
  LINK    tests/test-bdrv-graph-mod
  LINK    tests/test-blockjob
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    tests/test-blockjob-txn
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    tests/test-block-backend
  LINK    tests/test-block-iothread
  LINK    tests/test-image-locking
  LINK    tests/test-x86-cpuid
  LINK    tests/test-xbzrle
  LINK    tests/test-vmstate
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    tests/test-cutils
  LINK    tests/test-shift128
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    tests/test-mul64
  LINK    tests/test-int128
  LINK    tests/rcutorture
---
  LINK    tests/test-crypto-hash
  LINK    tests/test-crypto-hmac
  LINK    tests/test-crypto-cipher
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  LINK    tests/test-crypto-secret
  LINK    tests/test-crypto-tlscredsx509
  LINK    tests/test-crypto-tlssession
---
  FLOAT TEST lt_quiet
  FLOAT TEST add
  FLOAT TEST sub
/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
  FLOAT TEST uint-to-float
  FLOAT TEST float-to-int
  FLOAT TEST mul
---
dbus-daemon[8098]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry

**
ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18)
ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18)
Aborted (core dumped)
cleaning up pid 8098
make: *** [/tmp/qemu-test/src/tests/Makefile.include:632: check-qtest-i386] Error 1
make: *** Waiting for unfinished jobs....

Looking for expected file 'tests/data/acpi/pc/FACP.cphp'
---
dbus-daemon[9481]: Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry

**
ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18)
cleaning up pid 9481
Aborted (core dumped)
ERROR - Bail out! ERROR:/tmp/qemu-test/src/tests/qtest/dbus-vmstate-test.c:114:get_connection: assertion failed (err == NULL): The connection is closed (g-io-error-quark, 18)
make: *** [/tmp/qemu-test/src/tests/Makefile.include:632: check-qtest-x86_64] Error 1
  TEST    check-qtest-arm: tests/qtest/test-hmp
  TEST    check-qtest-arm: tests/qtest/qos-test
  TEST    check-qtest-aarch64: tests/qtest/test-hmp
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=41579675a5f04b46a380d31527c6a6a2', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-fna4ur7_/src/docker-src.2020-03-06-21.58.02.28164:/var/tmp/qemu:z,ro', 'qemu:ubuntu', '/var/tmp/qemu/run', 'test-clang']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=41579675a5f04b46a380d31527c6a6a2
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-fna4ur7_/src'
make: *** [docker-run-test-clang@ubuntu] Error 2

real    18m22.536s
user    0m9.374s


The full log is available at
http://patchew.org/logs/20200307030756.5913-1-pannengyuan@huawei.com/testing.docker-clang@ubuntu/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-07  3:07 [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector() Pan Nengyuan
  2020-03-07  3:16 ` no-reply
@ 2020-03-07 10:39 ` Marc-André Lureau
  2020-03-09  9:16   ` Laurent Vivier
  2020-03-09 12:05 ` Laurent Vivier
  2 siblings, 1 reply; 8+ messages in thread
From: Marc-André Lureau @ 2020-03-07 10:39 UTC (permalink / raw)
  To: Pan Nengyuan
  Cc: Daniel P. Berrange, Eduardo Habkost, qemu trival, QEMU,
	Euler Robot, Paolo Bonzini, zhanghailiang

Hi

On Sat, Mar 7, 2020 at 3:53 AM Pan Nengyuan <pannengyuan@huawei.com> wrote:
>
> Fix a memory leak in qdev_get_gpio_out_connector().
>
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>

good catch,
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>



> ---
>  hw/core/qdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index 3937d1eb1a..85f062def7 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -557,7 +557,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const char *name, int n,
>
>  qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, int n)
>  {
> -    char *propname = g_strdup_printf("%s[%d]",
> +    g_autofree char *propname = g_strdup_printf("%s[%d]",
>                                       name ? name : "unnamed-gpio-out", n);
>
>      qemu_irq ret = (qemu_irq)object_property_get_link(OBJECT(dev), propname,
> --
> 2.18.2
>
>


-- 
Marc-André Lureau


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-07 10:39 ` Marc-André Lureau
@ 2020-03-09  9:16   ` Laurent Vivier
  2020-03-09 10:41     ` Pan Nengyuan
  2020-03-09 10:48     ` Daniel P. Berrangé
  0 siblings, 2 replies; 8+ messages in thread
From: Laurent Vivier @ 2020-03-09  9:16 UTC (permalink / raw)
  To: Marc-André Lureau, Pan Nengyuan
  Cc: Daniel P. Berrange, Eduardo Habkost, qemu trival, QEMU,
	Euler Robot, Paolo Bonzini, zhanghailiang

Le 07/03/2020 à 11:39, Marc-André Lureau a écrit :
> Hi
> 
> On Sat, Mar 7, 2020 at 3:53 AM Pan Nengyuan <pannengyuan@huawei.com> wrote:
>>
>> Fix a memory leak in qdev_get_gpio_out_connector().
>>
>> Reported-by: Euler Robot <euler.robot@huawei.com>
>> Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
> 
> good catch,
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

trivial question:

Why do we prefer g_autofree() to the g_free() function?

Thanks,
Laurent

>> ---
>>  hw/core/qdev.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
>> index 3937d1eb1a..85f062def7 100644
>> --- a/hw/core/qdev.c
>> +++ b/hw/core/qdev.c
>> @@ -557,7 +557,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const char *name, int n,
>>
>>  qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, int n)
>>  {
>> -    char *propname = g_strdup_printf("%s[%d]",
>> +    g_autofree char *propname = g_strdup_printf("%s[%d]",
>>                                       name ? name : "unnamed-gpio-out", n);
>>
>>      qemu_irq ret = (qemu_irq)object_property_get_link(OBJECT(dev), propname,
>> --
>> 2.18.2
>>
>>
> 
> 



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-09  9:16   ` Laurent Vivier
@ 2020-03-09 10:41     ` Pan Nengyuan
  2020-03-09 10:49       ` Laurent Vivier
  2020-03-09 10:48     ` Daniel P. Berrangé
  1 sibling, 1 reply; 8+ messages in thread
From: Pan Nengyuan @ 2020-03-09 10:41 UTC (permalink / raw)
  To: Laurent Vivier, Marc-André Lureau
  Cc: Daniel P. Berrange, Eduardo Habkost, qemu trival, QEMU,
	Euler Robot, Paolo Bonzini, zhanghailiang



On 3/9/2020 5:16 PM, Laurent Vivier wrote:
> Le 07/03/2020 à 11:39, Marc-André Lureau a écrit :
>> Hi
>>
>> On Sat, Mar 7, 2020 at 3:53 AM Pan Nengyuan <pannengyuan@huawei.com> wrote:
>>>
>>> Fix a memory leak in qdev_get_gpio_out_connector().
>>>
>>> Reported-by: Euler Robot <euler.robot@huawei.com>
>>> Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
>>
>> good catch,
>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> trivial question:
> 
> Why do we prefer g_autofree() to the g_free() function?

Honestly, it's no special reason in this case, just personal preference. :)
Both of them is ok.

Thanks.

> 
> Thanks,
> Laurent
> 
>>> ---
>>>  hw/core/qdev.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
>>> index 3937d1eb1a..85f062def7 100644
>>> --- a/hw/core/qdev.c
>>> +++ b/hw/core/qdev.c
>>> @@ -557,7 +557,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const char *name, int n,
>>>
>>>  qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, int n)
>>>  {
>>> -    char *propname = g_strdup_printf("%s[%d]",
>>> +    g_autofree char *propname = g_strdup_printf("%s[%d]",
>>>                                       name ? name : "unnamed-gpio-out", n);
>>>
>>>      qemu_irq ret = (qemu_irq)object_property_get_link(OBJECT(dev), propname,
>>> --
>>> 2.18.2
>>>
>>>
>>
>>
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-09  9:16   ` Laurent Vivier
  2020-03-09 10:41     ` Pan Nengyuan
@ 2020-03-09 10:48     ` Daniel P. Berrangé
  1 sibling, 0 replies; 8+ messages in thread
From: Daniel P. Berrangé @ 2020-03-09 10:48 UTC (permalink / raw)
  To: Laurent Vivier
  Cc: Eduardo Habkost, qemu trival, Pan Nengyuan, QEMU,
	Marc-André Lureau, Euler Robot, Paolo Bonzini, zhanghailiang

On Mon, Mar 09, 2020 at 10:16:28AM +0100, Laurent Vivier wrote:
> Le 07/03/2020 à 11:39, Marc-André Lureau a écrit :
> > Hi
> > 
> > On Sat, Mar 7, 2020 at 3:53 AM Pan Nengyuan <pannengyuan@huawei.com> wrote:
> >>
> >> Fix a memory leak in qdev_get_gpio_out_connector().
> >>
> >> Reported-by: Euler Robot <euler.robot@huawei.com>
> >> Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
> > 
> > good catch,
> > Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> trivial question:
> 
> Why do we prefer g_autofree() to the g_free() function?

The g_autofree annotation guarantees that g_free() gets invoked
when the variable goes out of scope, in all code paths.

This avoids the need to do the classic "goto cleanup;" jumps
with manuall free calls. So as well as simplifying code it
makes it less error prone in general. Of course the method
in this patch is only three lines long so you don't really
see the benefits, but there's also no real harm. So I'd
personally always pick g_autofree in situations where it
is usable, as it is a good habit to be in when you get to
more complex codepaths.

> >> ---
> >>  hw/core/qdev.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> >> index 3937d1eb1a..85f062def7 100644
> >> --- a/hw/core/qdev.c
> >> +++ b/hw/core/qdev.c
> >> @@ -557,7 +557,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const char *name, int n,
> >>
> >>  qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, int n)
> >>  {
> >> -    char *propname = g_strdup_printf("%s[%d]",
> >> +    g_autofree char *propname = g_strdup_printf("%s[%d]",
> >>                                       name ? name : "unnamed-gpio-out", n);
> >>
> >>      qemu_irq ret = (qemu_irq)object_property_get_link(OBJECT(dev), propname,
> >> --

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-09 10:41     ` Pan Nengyuan
@ 2020-03-09 10:49       ` Laurent Vivier
  0 siblings, 0 replies; 8+ messages in thread
From: Laurent Vivier @ 2020-03-09 10:49 UTC (permalink / raw)
  To: Pan Nengyuan, Marc-André Lureau
  Cc: Daniel P. Berrange, Eduardo Habkost, qemu trival, QEMU,
	Euler Robot, Paolo Bonzini, zhanghailiang

Le 09/03/2020 à 11:41, Pan Nengyuan a écrit :
> 
> 
> On 3/9/2020 5:16 PM, Laurent Vivier wrote:
>> Le 07/03/2020 à 11:39, Marc-André Lureau a écrit :
>>> Hi
>>>
>>> On Sat, Mar 7, 2020 at 3:53 AM Pan Nengyuan <pannengyuan@huawei.com> wrote:
>>>>
>>>> Fix a memory leak in qdev_get_gpio_out_connector().
>>>>
>>>> Reported-by: Euler Robot <euler.robot@huawei.com>
>>>> Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
>>>
>>> good catch,
>>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>>
>> trivial question:
>>
>> Why do we prefer g_autofree() to the g_free() function?
> 
> Honestly, it's no special reason in this case, just personal preference. :)
> Both of them is ok.

I asked because the function above uses a g_free() for the same purpose.

Thanks,
Laurent


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector()
  2020-03-07  3:07 [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector() Pan Nengyuan
  2020-03-07  3:16 ` no-reply
  2020-03-07 10:39 ` Marc-André Lureau
@ 2020-03-09 12:05 ` Laurent Vivier
  2 siblings, 0 replies; 8+ messages in thread
From: Laurent Vivier @ 2020-03-09 12:05 UTC (permalink / raw)
  To: Pan Nengyuan, qemu-devel
  Cc: berrange, zhang.zhanghailiang, qemu-trivial, euler.robot,
	pbonzini, ehabkost

Le 07/03/2020 à 04:07, Pan Nengyuan a écrit :
> Fix a memory leak in qdev_get_gpio_out_connector().
> 
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
> ---
>  hw/core/qdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index 3937d1eb1a..85f062def7 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -557,7 +557,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, const char *name, int n,
>  
>  qemu_irq qdev_get_gpio_out_connector(DeviceState *dev, const char *name, int n)
>  {
> -    char *propname = g_strdup_printf("%s[%d]",
> +    g_autofree char *propname = g_strdup_printf("%s[%d]",
>                                       name ? name : "unnamed-gpio-out", n);
>  
>      qemu_irq ret = (qemu_irq)object_property_get_link(OBJECT(dev), propname,
> 

Applied to my trivial-patches branch.

Thanks,
Laurent


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-03-09 12:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-07  3:07 [PATCH] core/qdev: fix memleak in qdev_get_gpio_out_connector() Pan Nengyuan
2020-03-07  3:16 ` no-reply
2020-03-07 10:39 ` Marc-André Lureau
2020-03-09  9:16   ` Laurent Vivier
2020-03-09 10:41     ` Pan Nengyuan
2020-03-09 10:49       ` Laurent Vivier
2020-03-09 10:48     ` Daniel P. Berrangé
2020-03-09 12:05 ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).