From: Fabiano Rosas <farosas@suse.de>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: "Peter Xu" <peterx@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>
Subject: Re: [PATCH for-9.2 2/9] tests/qtest/migration-test: Don't leak resp in multifd_mapped_ram_fdset_end()
Date: Wed, 21 Aug 2024 18:01:42 -0300 [thread overview]
Message-ID: <87wmk9zj2h.fsf@suse.de> (raw)
In-Reply-To: <20240820144912.320744-3-peter.maydell@linaro.org>
Peter Maydell <peter.maydell@linaro.org> writes:
> In multifd_mapped_ram_fdset_end() we call qtest_qmp() but forgot
> to unref the response QDict we get back, which means it is leaked:
>
> Indirect leak of 4120 byte(s) in 1 object(s) allocated from:
> #0 0x55c0c095d318 in __interceptor_calloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/tests/qtest/migration-test+0x22f318) (BuildI
> d: 07f667506452d6c467dbc06fd95191966d3e91b4)
> #1 0x7f186f939c50 in g_malloc0 debian/build/deb/../../../glib/gmem.c:161:13
> #2 0x55c0c0ae9b01 in qdict_new qobject/qdict.c:30:13
> #3 0x55c0c0afc16c in parse_object qobject/json-parser.c:317:12
> #4 0x55c0c0afb90f in parse_value qobject/json-parser.c:545:16
> #5 0x55c0c0afb579 in json_parser_parse qobject/json-parser.c:579:14
> #6 0x55c0c0afa21d in json_message_process_token qobject/json-streamer.c:92:12
> #7 0x55c0c0bca2e5 in json_lexer_feed_char qobject/json-lexer.c:313:13
> #8 0x55c0c0bc97ce in json_lexer_feed qobject/json-lexer.c:350:9
> #9 0x55c0c0afabbc in json_message_parser_feed qobject/json-streamer.c:121:5
> #10 0x55c0c09cbd52 in qmp_fd_receive tests/qtest/libqmp.c:86:9
> #11 0x55c0c09be69b in qtest_qmp_receive_dict tests/qtest/libqtest.c:760:12
> #12 0x55c0c09bca77 in qtest_qmp_receive tests/qtest/libqtest.c:741:27
> #13 0x55c0c09bee9d in qtest_vqmp tests/qtest/libqtest.c:812:12
> #14 0x55c0c09bd257 in qtest_qmp tests/qtest/libqtest.c:835:16
> #15 0x55c0c0a87747 in multifd_mapped_ram_fdset_end tests/qtest/migration-test.c:2393:12
> #16 0x55c0c0a85eb3 in test_file_common tests/qtest/migration-test.c:1978:9
> #17 0x55c0c0a746a3 in test_multifd_file_mapped_ram_fdset tests/qtest/migration-test.c:2437:5
> #18 0x55c0c0a93237 in migration_test_wrapper tests/qtest/migration-helpers.c:458:5
> #19 0x7f186f958aed in test_case_run debian/build/deb/../../../glib/gtestutils.c:2930:15
> #20 0x7f186f958aed in g_test_run_suite_internal debian/build/deb/../../../glib/gtestutils.c:3018:16
> #21 0x7f186f95880a in g_test_run_suite_internal debian/build/deb/../../../glib/gtestutils.c:3035:18
> #22 0x7f186f95880a in g_test_run_suite_internal debian/build/deb/../../../glib/gtestutils.c:3035:18
> #23 0x7f186f95880a in g_test_run_suite_internal debian/build/deb/../../../glib/gtestutils.c:3035:18
> #24 0x7f186f95880a in g_test_run_suite_internal debian/build/deb/../../../glib/gtestutils.c:3035:18
> #25 0x7f186f95880a in g_test_run_suite_internal debian/build/deb/../../../glib/gtestutils.c:3035:18
> #26 0x7f186f958faa in g_test_run_suite debian/build/deb/../../../glib/gtestutils.c:3109:18
> #27 0x7f186f959055 in g_test_run debian/build/deb/../../../glib/gtestutils.c:2231:7
> #28 0x7f186f959055 in g_test_run debian/build/deb/../../../glib/gtestutils.c:2218:1
> #29 0x55c0c0a6e427 in main tests/qtest/migration-test.c:4033:11
>
> Unref the object after we've confirmed that it is what we expect.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> tests/qtest/migration-test.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 5cf238a4f05..6aba527340b 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -2395,6 +2395,7 @@ static void multifd_mapped_ram_fdset_end(QTestState *from, QTestState *to,
> g_assert(qdict_haskey(resp, "return"));
> fdsets = qdict_get_qlist(resp, "return");
> g_assert(fdsets && qlist_empty(fdsets));
> + qobject_unref(resp);
> }
>
> static void *multifd_mapped_ram_fdset_dio(QTestState *from, QTestState *to)
Reviewed-by: Fabiano Rosas <farosas@suse.de>
next prev parent reply other threads:[~2024-08-21 21:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-20 14:49 [PATCH for-9.2 0/9] tests/qtest/migration-test: Fix various leaks Peter Maydell
2024-08-20 14:49 ` [PATCH for-9.2 1/9] tests/qtest/migration-test: Fix bootfile cleanup handling Peter Maydell
2024-08-21 21:00 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 2/9] tests/qtest/migration-test: Don't leak resp in multifd_mapped_ram_fdset_end() Peter Maydell
2024-08-21 21:01 ` Fabiano Rosas [this message]
2024-08-20 14:49 ` [PATCH for-9.2 3/9] tests/qtest/migration-test: Fix leaks in calc_dirtyrate_ready() Peter Maydell
2024-08-21 21:04 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 4/9] tests/qtest/migration-helpers: Fix migrate_get_socket_address() leak Peter Maydell
2024-08-22 12:24 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 5/9] tests/qtest/migration-test: Free QCRyptoTLSTestCertReq objects Peter Maydell
2024-08-22 12:43 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 6/9] tests/unit/crypto-tls-x509-helpers: deinit privkey in test_tls_cleanup Peter Maydell
2024-08-22 12:44 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 7/9] tests/qtest/migration-helpers: Don't dup argument to qdict_put_str() Peter Maydell
2024-08-22 12:26 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 8/9] tests/qtest/migration-test: Don't strdup in get_dirty_rate() Peter Maydell
2024-08-22 12:27 ` Fabiano Rosas
2024-08-20 14:49 ` [PATCH for-9.2 9/9] tests/qtest/migration-test: Don't leak QTestState in test_multifd_tcp_cancel() Peter Maydell
2024-08-22 12:31 ` Fabiano Rosas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wmk9zj2h.fsf@suse.de \
--to=farosas@suse.de \
--cc=berrange@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.