[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-9.2 1/9] tests/qtest/migration-test: Fix bootfile cleanup
|
From: |
Fabiano Rosas |
|
Subject: |
Re: [PATCH for-9.2 1/9] tests/qtest/migration-test: Fix bootfile cleanup handling |
|
Date: |
Wed, 21 Aug 2024 18:00:47 -0300 |
Peter Maydell <peter.maydell@linaro.org> writes:
> If you invoke the migration-test binary in such a way that it doesn't run
> any tests, then we never call bootfile_create(), and at the end of
> main() bootfile_delete() will try to unlink(NULL), which is not valid.
> This can happen if for instance you tell the test binary to run a
> subset of tests that turns out to be empty, like this:
>
> (cd build/asan && QTEST_QEMU_BINARY=./qemu-system-x86_64
> ./tests/qtest/migration-test --tap -k -p bang)
> # random seed: R02S6501b289ff8ced4231ba452c3a87bc6f
> # Skipping test: userfaultfd not available
> 1..0
> ../../tests/qtest/migration-test.c:182:12: runtime error: null pointer
> passed as argument 1, which is declared to never be null
> /usr/include/unistd.h:858:48: note: nonnull attribute specified here
>
> Conversely, because we call bootfile_create() once per test
> but only call bootfile_delete() at the end of the whole test
> run, we will leak the memory we used for bootpath when we
> overwrite it.
>
> Handle these by:
> * making bootfile_delete() handle not needing to do anything
> because bootfile_create() was never called
> * making bootfile_create() call bootfile_delete() first to
> tidy up any previous bootfile before it creates a fresh one
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
- [PATCH for-9.2 0/9] tests/qtest/migration-test: Fix various leaks, Peter Maydell, 2024/08/20
- [PATCH for-9.2 1/9] tests/qtest/migration-test: Fix bootfile cleanup handling, Peter Maydell, 2024/08/20
- Re: [PATCH for-9.2 1/9] tests/qtest/migration-test: Fix bootfile cleanup handling,
Fabiano Rosas <=
- [PATCH for-9.2 4/9] tests/qtest/migration-helpers: Fix migrate_get_socket_address() leak, Peter Maydell, 2024/08/20
- [PATCH for-9.2 8/9] tests/qtest/migration-test: Don't strdup in get_dirty_rate(), Peter Maydell, 2024/08/20
- [PATCH for-9.2 9/9] tests/qtest/migration-test: Don't leak QTestState in test_multifd_tcp_cancel(), Peter Maydell, 2024/08/20
- [PATCH for-9.2 3/9] tests/qtest/migration-test: Fix leaks in calc_dirtyrate_ready(), Peter Maydell, 2024/08/20
- [PATCH for-9.2 2/9] tests/qtest/migration-test: Don't leak resp in multifd_mapped_ram_fdset_end(), Peter Maydell, 2024/08/20