[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/46] fuzz: log the arguments used to initialize QEMU
From: |
Paolo Bonzini |
Subject: |
[PULL 04/46] fuzz: log the arguments used to initialize QEMU |
Date: |
Mon, 8 Feb 2021 19:22:49 +0100 |
From: Alexander Bulekov <alxndr@bu.edu>
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>
Message-Id: <20210117201014.271610-3-alxndr@bu.edu>
---
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.29.2
- [PULL 00/46] Misc patches for 2021-02-08, Paolo Bonzini, 2021/02/08
- [PULL 03/46] docs/fuzz: fix pre-meson path, Paolo Bonzini, 2021/02/08
- [PULL 06/46] docs/fuzz: add some information about OSS-Fuzz, Paolo Bonzini, 2021/02/08
- [PULL 04/46] fuzz: log the arguments used to initialize QEMU,
Paolo Bonzini <=
- [PULL 05/46] fuzz: enable dynamic args for generic-fuzz configs, Paolo Bonzini, 2021/02/08
- [PULL 02/46] fuzz: refine the ide/ahci fuzzer configs, Paolo Bonzini, 2021/02/08
- [PULL 08/46] target/i386: do not set LM for 32-bit emulation "-cpu host/max", Paolo Bonzini, 2021/02/08
- [PULL 07/46] fuzz: add virtio-9p configurations for fuzzing, Paolo Bonzini, 2021/02/08
- [PULL 01/46] fuzz: ignore address_space_map is_write flag, Paolo Bonzini, 2021/02/08
- [PULL 13/46] fuzz: fix wrong index in clear_bits, Paolo Bonzini, 2021/02/08
- [PULL 09/46] machine: add missing doc for memory-backend option, Paolo Bonzini, 2021/02/08
- [PULL 14/46] docs: don't install corresponding man page if guest agent is disabled, Paolo Bonzini, 2021/02/08
- [PULL 11/46] meson: honor --enable-rbd if cc.links test fails, Paolo Bonzini, 2021/02/08
- [PULL 16/46] event_notifier: handle initialization failure better, Paolo Bonzini, 2021/02/08