qemu-patch-raspberry4/migration
Zhenyu Ye a9e80a5f0c migration: tls: fix memory leak in migration_tls_get_creds
Currently migration_tls_get_creds() adds the reference of creds
but there was no place to unref it.  So the OBJECT(creds) will
never be freed and result in memory leak.

The leak stack:
Direct leak of 104 byte(s) in 1 object(s) allocated from:
    #0 0xffffa88bd20b in __interceptor_malloc (/usr/lib64/libasan.so.4+0xd320b)
    #1 0xffffa7f0cb1b in g_malloc (/usr/lib64/libglib-2.0.so.0+0x58b1b)
    #2 0x14b58cb in object_new_with_type qom/object.c:634
    #3 0x14b597b in object_new qom/object.c:645
    #4 0x14c0e4f in user_creatable_add_type qom/object_interfaces.c:59
    #5 0x141c78b in qmp_object_add qom/qom-qmp-cmds.c:312
    #6 0x140e513 in qmp_marshal_object_add qapi/qapi-commands-qom.c:279
    #7 0x176ba97 in do_qmp_dispatch qapi/qmp-dispatch.c:165
    #8 0x176bee7 in qmp_dispatch qapi/qmp-dispatch.c:208
    #9 0x136e337 in monitor_qmp_dispatch monitor/qmp.c:150
    #10 0x136eae3 in monitor_qmp_bh_dispatcher monitor/qmp.c:239
    #11 0x1852e93 in aio_bh_call util/async.c:89
    #12 0x18531b7 in aio_bh_poll util/async.c:117
    #13 0x18616bf in aio_dispatch util/aio-posix.c:459
    #14 0x1853f37 in aio_ctx_dispatch util/async.c:268
    #15 0xffffa7f06a7b in g_main_context_dispatch (/usr/lib64/libglib-2.0.so.0+0x52a7b)

Since we're fine to use the borrowed reference when using the creds,
so just remove the object_ref() in migration_tls_get_creds().

Signed-off-by: Zhenyu Ye <yezhenyu2@huawei.com>
Message-Id: <20200722033228.71-1-yezhenyu2@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2020-08-28 13:34:52 +01:00
..
block-dirty-bitmap.c migration: Add block-bitmap-mapping parameter 2020-08-21 08:56:09 -05:00
block.c
block.h
channel.c
channel.h
colo-failover.c
colo.c
exec.c
exec.h
fd.c
fd.h
global_state.c
meson.build meson: convert migration directory to Meson 2020-08-21 06:30:23 -04:00
migration.c migration: add vsock as data channel support 2020-08-28 13:34:52 +01:00
migration.h migration: Rename class type checking macros 2020-08-27 14:04:55 -04:00
multifd-zlib.c
multifd-zstd.c
multifd.c
multifd.h
page_cache.c
page_cache.h
postcopy-ram.c virtio,acpi: features, fixes, cleanups. 2020-07-07 17:37:44 +01:00
postcopy-ram.h
qemu-file-channel.c
qemu-file-channel.h
qemu-file.c
qemu-file.h
qjson.c
qjson.h
ram.c cpu-throttle: new module, extracted from cpus.c 2020-07-10 18:04:49 -04:00
ram.h
rdma.c virtio,acpi: features, fixes, cleanups. 2020-07-07 17:37:44 +01:00
rdma.h
savevm.c migration: improve error reporting of block driver state name 2020-08-28 13:34:52 +01:00
savevm.h
socket.c migration: unify the framework of socket-type channel 2020-08-28 13:34:52 +01:00
socket.h migration: unify the framework of socket-type channel 2020-08-28 13:34:52 +01:00
tls.c migration: tls: fix memory leak in migration_tls_get_creds 2020-08-28 13:34:52 +01:00
tls.h
trace-events
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vmstate-types.c
vmstate.c
xbzrle.c
xbzrle.h