* 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 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-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-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