Re: [PATCH] tests: Fix memory leak in tpm-util.c
On 1/21/21 10:44 AM, Philippe Mathieu-Daudé wrote: On 1/15/21 9:46 PM, Stefan Berger wrote: This patch fixes the following memory leak detected by asan: Indirect leak of 560320 byte(s) in 136 object(s) allocated from: #0 0x556b3b3f9b57 in calloc (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57) #1 0x152b0e96b9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0) #2 0x556b3b588f61 in parse_object /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:318:12 #3 0x556b3b588f61 in parse_value /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:546:16 #4 0x556b3b5886e8 in json_parser_parse /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:580:14 #5 0x556b3b52ff4a in json_message_process_token /home/stefanb/tmp/qemu-tip/build/../qobject/json-streamer.c:92:12 #6 0x556b3b59896f in json_lexer_feed_char /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:313:13 #7 0x556b3b598443 in json_lexer_feed /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:350:9 #8 0x556b3b436c70 in qmp_fd_receive /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:614:9 #9 0x556b3b435871 in qtest_qmp_receive_dict /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:636:12 #10 0x556b3b435871 in qtest_qmp_receive /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:624:27 #11 0x556b3b435c59 in qtest_vqmp /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:715:12 #12 0x556b3b435c59 in qtest_qmp /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:756:16 #13 0x556b3b4328c7 in tpm_util_wait_for_migration_complete /home/stefanb/tmp/qemu-tip/build/../tests/qtest/tpm-util.c:245:15 #14 0x556b3b4333be in tpm_test_swtpm_migration_test /home/stefanb/tmp/qemu-tip/build/../tests/qtest/tpm-tests.c:117:5 #15 0x152b0e98e29d (/lib64/libglib-2.0.so.0+0x7b29d) Signed-off-by: Stefan Berger Cc: Philippe Mathieu-Daudé --- tests/qtest/tpm-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Thanks! I hope it solves all TPM-related memory leak issues for your tests. I have already seen this patch in a PULL request now. Stefan Phil.
Re: [PATCH] tests: Fix memory leak in tpm-util.c
On 1/15/21 9:46 PM, Stefan Berger wrote: > This patch fixes the following memory leak detected by asan: > > Indirect leak of 560320 byte(s) in 136 object(s) allocated from: > #0 0x556b3b3f9b57 in calloc > (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57) > #1 0x152b0e96b9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0) > #2 0x556b3b588f61 in parse_object > /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:318:12 > #3 0x556b3b588f61 in parse_value > /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:546:16 > #4 0x556b3b5886e8 in json_parser_parse > /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:580:14 > #5 0x556b3b52ff4a in json_message_process_token > /home/stefanb/tmp/qemu-tip/build/../qobject/json-streamer.c:92:12 > #6 0x556b3b59896f in json_lexer_feed_char > /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:313:13 > #7 0x556b3b598443 in json_lexer_feed > /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:350:9 > #8 0x556b3b436c70 in qmp_fd_receive > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:614:9 > #9 0x556b3b435871 in qtest_qmp_receive_dict > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:636:12 > #10 0x556b3b435871 in qtest_qmp_receive > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:624:27 > #11 0x556b3b435c59 in qtest_vqmp > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:715:12 > #12 0x556b3b435c59 in qtest_qmp > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:756:16 > #13 0x556b3b4328c7 in tpm_util_wait_for_migration_complete > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/tpm-util.c:245:15 > #14 0x556b3b4333be in tpm_test_swtpm_migration_test > /home/stefanb/tmp/qemu-tip/build/../tests/qtest/tpm-tests.c:117:5 > #15 0x152b0e98e29d (/lib64/libglib-2.0.so.0+0x7b29d) > > Signed-off-by: Stefan Berger > Cc: Philippe Mathieu-Daudé > --- > tests/qtest/tpm-util.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Thanks! Phil.
[PATCH] tests: Fix memory leak in tpm-util.c
This patch fixes the following memory leak detected by asan: Indirect leak of 560320 byte(s) in 136 object(s) allocated from: #0 0x556b3b3f9b57 in calloc (/home/stefanb/tmp/qemu-tip/build/tests/qtest/tpm-crb-swtpm-test+0x23fb57) #1 0x152b0e96b9b0 in g_malloc0 (/lib64/libglib-2.0.so.0+0x589b0) #2 0x556b3b588f61 in parse_object /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:318:12 #3 0x556b3b588f61 in parse_value /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:546:16 #4 0x556b3b5886e8 in json_parser_parse /home/stefanb/tmp/qemu-tip/build/../qobject/json-parser.c:580:14 #5 0x556b3b52ff4a in json_message_process_token /home/stefanb/tmp/qemu-tip/build/../qobject/json-streamer.c:92:12 #6 0x556b3b59896f in json_lexer_feed_char /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:313:13 #7 0x556b3b598443 in json_lexer_feed /home/stefanb/tmp/qemu-tip/build/../qobject/json-lexer.c:350:9 #8 0x556b3b436c70 in qmp_fd_receive /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:614:9 #9 0x556b3b435871 in qtest_qmp_receive_dict /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:636:12 #10 0x556b3b435871 in qtest_qmp_receive /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:624:27 #11 0x556b3b435c59 in qtest_vqmp /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:715:12 #12 0x556b3b435c59 in qtest_qmp /home/stefanb/tmp/qemu-tip/build/../tests/qtest/libqtest.c:756:16 #13 0x556b3b4328c7 in tpm_util_wait_for_migration_complete /home/stefanb/tmp/qemu-tip/build/../tests/qtest/tpm-util.c:245:15 #14 0x556b3b4333be in tpm_test_swtpm_migration_test /home/stefanb/tmp/qemu-tip/build/../tests/qtest/tpm-tests.c:117:5 #15 0x152b0e98e29d (/lib64/libglib-2.0.so.0+0x7b29d) Signed-off-by: Stefan Berger Cc: Philippe Mathieu-Daudé --- tests/qtest/tpm-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qtest/tpm-util.c b/tests/qtest/tpm-util.c index 5a33a6ef0f..b70cc32d60 100644 --- a/tests/qtest/tpm-util.c +++ b/tests/qtest/tpm-util.c @@ -250,7 +250,7 @@ void tpm_util_wait_for_migration_complete(QTestState *who) status = qdict_get_str(rsp_return, "status"); completed = strcmp(status, "completed") == 0; g_assert_cmpstr(status, !=, "failed"); -qobject_unref(rsp_return); +qobject_unref(rsp); if (completed) { return; } -- 2.26.2