[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/10] fuzz/virtio-blk: remove fork-based fuzzer
From: |
Alexander Bulekov |
Subject: |
[PULL 07/10] fuzz/virtio-blk: remove fork-based fuzzer |
Date: |
Thu, 16 Feb 2023 23:08:52 -0500 |
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
---
tests/qtest/fuzz/virtio_blk_fuzz.c | 51 ++++--------------------------
1 file changed, 7 insertions(+), 44 deletions(-)
diff --git a/tests/qtest/fuzz/virtio_blk_fuzz.c
b/tests/qtest/fuzz/virtio_blk_fuzz.c
index a9fb9ecf6c..651fd4f043 100644
--- a/tests/qtest/fuzz/virtio_blk_fuzz.c
+++ b/tests/qtest/fuzz/virtio_blk_fuzz.c
@@ -19,7 +19,6 @@
#include "standard-headers/linux/virtio_pci.h"
#include "standard-headers/linux/virtio_blk.h"
#include "fuzz.h"
-#include "fork_fuzz.h"
#include "qos_fuzz.h"
#define TEST_IMAGE_SIZE (64 * 1024 * 1024)
@@ -128,48 +127,24 @@ static void virtio_blk_fuzz(QTestState *s,
QVirtioBlkQueues* queues,
}
}
-static void virtio_blk_fork_fuzz(QTestState *s,
- const unsigned char *Data, size_t Size)
-{
- QVirtioBlk *blk = fuzz_qos_obj;
- static QVirtioBlkQueues *queues;
- if (!queues) {
- queues = qvirtio_blk_init(blk->vdev, 0);
- }
- if (fork() == 0) {
- virtio_blk_fuzz(s, queues, Data, Size);
- flush_events(s);
- _Exit(0);
- } else {
- flush_events(s);
- wait(NULL);
- }
-}
-
static void virtio_blk_with_flag_fuzz(QTestState *s,
const unsigned char *Data, size_t Size)
{
QVirtioBlk *blk = fuzz_qos_obj;
static QVirtioBlkQueues *queues;
- if (fork() == 0) {
- if (Size >= sizeof(uint64_t)) {
- queues = qvirtio_blk_init(blk->vdev, *(uint64_t *)Data);
- virtio_blk_fuzz(s, queues,
- Data + sizeof(uint64_t), Size - sizeof(uint64_t));
- flush_events(s);
- }
- _Exit(0);
- } else {
+ if (Size >= sizeof(uint64_t)) {
+ queues = qvirtio_blk_init(blk->vdev, *(uint64_t *)Data);
+ virtio_blk_fuzz(s, queues,
+ Data + sizeof(uint64_t), Size - sizeof(uint64_t));
flush_events(s);
- wait(NULL);
}
+ fuzz_reset(s);
}
static void virtio_blk_pre_fuzz(QTestState *s)
{
qos_init_path(s);
- counter_shm_init();
}
static void drive_destroy(void *path)
@@ -208,22 +183,10 @@ static void *virtio_blk_test_setup(GString *cmd_line,
void *arg)
static void register_virtio_blk_fuzz_targets(void)
{
- fuzz_add_qos_target(&(FuzzTarget){
- .name = "virtio-blk-fuzz",
- .description = "Fuzz the virtio-blk virtual queues, forking "
- "for each fuzz run",
- .pre_vm_init = &counter_shm_init,
- .pre_fuzz = &virtio_blk_pre_fuzz,
- .fuzz = virtio_blk_fork_fuzz,},
- "virtio-blk",
- &(QOSGraphTestOptions){.before = virtio_blk_test_setup}
- );
-
fuzz_add_qos_target(&(FuzzTarget){
.name = "virtio-blk-flags-fuzz",
- .description = "Fuzz the virtio-blk virtual queues, forking "
- "for each fuzz run (also fuzzes the virtio flags)",
- .pre_vm_init = &counter_shm_init,
+ .description = "Fuzz the virtio-blk virtual queues. "
+ "Also fuzzes the virtio flags)",
.pre_fuzz = &virtio_blk_pre_fuzz,
.fuzz = virtio_blk_with_flag_fuzz,},
"virtio-blk",
--
2.39.0
- [PULL 00/10] Replace fork-based fuzzing with reboots, Alexander Bulekov, 2023/02/16
- [PULL 01/10] hw/sparse-mem: clear memory on reset, Alexander Bulekov, 2023/02/16
- [PULL 02/10] fuzz: add fuzz_reset API, Alexander Bulekov, 2023/02/16
- [PULL 03/10] fuzz/generic-fuzz: use reboots instead of forks to reset state, Alexander Bulekov, 2023/02/16
- [PULL 04/10] fuzz/generic-fuzz: add a limit on DMA bytes written, Alexander Bulekov, 2023/02/16
- [PULL 05/10] fuzz/virtio-scsi: remove fork-based fuzzer, Alexander Bulekov, 2023/02/16
- [PULL 06/10] fuzz/virtio-net: remove fork-based fuzzer, Alexander Bulekov, 2023/02/16
- [PULL 07/10] fuzz/virtio-blk: remove fork-based fuzzer,
Alexander Bulekov <=
- [PULL 09/10] fuzz: remove fork-fuzzing scaffolding, Alexander Bulekov, 2023/02/16
- [PULL 08/10] fuzz/i440fx: remove fork-based fuzzer, Alexander Bulekov, 2023/02/16
- [PULL 10/10] docs/fuzz: remove mentions of fork-based fuzzing, Alexander Bulekov, 2023/02/16
- Re: [PULL 00/10] Replace fork-based fuzzing with reboots, Peter Maydell, 2023/02/21