[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 4/7] fuzz: log the arguments used to initialize QEMU
From: |
Alexander Bulekov |
Subject: |
[PULL 4/7] fuzz: log the arguments used to initialize QEMU |
Date: |
Wed, 20 Jan 2021 12:44:53 -0500 |
This is useful for building reproducers. Instead checking the code or
the QEMU_FUZZ_ARGS, the arguments are at the top of the crash log.
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/fuzz/fuzz.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/tests/qtest/fuzz/fuzz.c b/tests/qtest/fuzz/fuzz.c
index 238866a037..496d11a231 100644
--- a/tests/qtest/fuzz/fuzz.c
+++ b/tests/qtest/fuzz/fuzz.c
@@ -159,6 +159,8 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char
***envp)
char *target_name;
const char *bindir;
char *datadir;
+ GString *cmd_line;
+ gchar *pretty_cmd_line;
bool serialize = false;
/* Initialize qgraph and modules */
@@ -217,7 +219,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char
***envp)
}
/* Run QEMU's softmmu main with the fuzz-target dependent arguments */
- GString *cmd_line = fuzz_target->get_init_cmdline(fuzz_target);
+ cmd_line = fuzz_target->get_init_cmdline(fuzz_target);
g_string_append_printf(cmd_line, " %s -qtest /dev/null ",
getenv("QTEST_LOG") ? "" : "-qtest-log none");
@@ -226,6 +228,13 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char
***envp)
wordexp(cmd_line->str, &result, 0);
g_string_free(cmd_line, true);
+ if (getenv("QTEST_LOG")) {
+ pretty_cmd_line = g_strjoinv(" ", result.we_wordv + 1);
+ printf("Starting %s with Arguments: %s\n",
+ result.we_wordv[0], pretty_cmd_line);
+ g_free(pretty_cmd_line);
+ }
+
qemu_init(result.we_wordc, result.we_wordv, NULL);
/* re-enable the rcu atfork, which was previously disabled in qemu_init */
--
2.28.0
- [PULL 4/7] docs/fuzz: add some information about OSS-Fuzz, (continued)
- [PULL 4/7] docs/fuzz: add some information about OSS-Fuzz, Alexander Bulekov, 2021/01/20
- [PULL 6/7] fuzz: ignore address_space_map is_write flag, Alexander Bulekov, 2021/01/20
- [PULL 5/7] fuzz: add virtio-9p configurations for fuzzing, Alexander Bulekov, 2021/01/20
- [PULL 7/7] fuzz: add virtio-9p configurations for fuzzing, Alexander Bulekov, 2021/01/20
- [PULL 7/7] fuzz: refine the ide/ahci fuzzer configs, Alexander Bulekov, 2021/01/20
- [PULL 5/7] fuzz: enable dynamic args for generic-fuzz configs, Alexander Bulekov, 2021/01/20
- Re: [PULL 0/7] 2021-01-20 fuzzing patches, Alexander Bulekov, 2021/01/20
- [PULL 0/7] 2021-01-20 fuzzing patches, Alexander Bulekov, 2021/01/20
- [PULL 1/7] fuzz: ignore address_space_map is_write flag, Alexander Bulekov, 2021/01/20
- [PULL 3/7] docs/fuzz: fix pre-meson path, Alexander Bulekov, 2021/01/20
- [PULL 4/7] fuzz: log the arguments used to initialize QEMU,
Alexander Bulekov <=
- [PULL 5/7] fuzz: enable dynamic args for generic-fuzz configs, Alexander Bulekov, 2021/01/20
- [PULL 2/7] fuzz: refine the ide/ahci fuzzer configs, Alexander Bulekov, 2021/01/20
- [PULL 6/7] docs/fuzz: add some information about OSS-Fuzz, Alexander Bulekov, 2021/01/20
- [PULL 7/7] fuzz: add virtio-9p configurations for fuzzing, Alexander Bulekov, 2021/01/20
- Re: [PULL 0/7] 2021-01-20 fuzzing patches, Peter Maydell, 2021/01/22