[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/4] fuzz: run the main-loop in fork-server process
From: |
Darren Kenny |
Subject: |
Re: [PATCH 4/4] fuzz: run the main-loop in fork-server process |
Date: |
Tue, 12 May 2020 09:00:02 +0100 |
On Monday, 2020-05-11 at 23:01:33 -04, Alexander Bulekov wrote:
> Without this, the time since the last main-loop keeps increasing, as the
> fuzzer runs. The forked children need to handle all the "past-due"
> timers, slowing them down, over time. With this change, the
> parent/fork-server process runs the main-loop, while waiting on the
> child, ensuring that the timer events do not pile up, over time.
>
> Signed-off-by: Alexander Bulekov <address@hidden>
Reviewed-by: Darren Kenny <address@hidden>
> ---
> tests/qtest/fuzz/i440fx_fuzz.c | 1 +
> tests/qtest/fuzz/virtio_net_fuzz.c | 2 ++
> tests/qtest/fuzz/virtio_scsi_fuzz.c | 2 ++
> 3 files changed, 5 insertions(+)
>
> I'm working on another series to abstract away the details of resetting
> qemu state between runs from the individual targets. That should relieve
> us from needing to add this for each new fuzzing target.
>
> diff --git a/tests/qtest/fuzz/i440fx_fuzz.c b/tests/qtest/fuzz/i440fx_fuzz.c
> index 90e75ffaea..8449f81687 100644
> --- a/tests/qtest/fuzz/i440fx_fuzz.c
> +++ b/tests/qtest/fuzz/i440fx_fuzz.c
> @@ -138,6 +138,7 @@ static void i440fx_fuzz_qos_fork(QTestState *s,
> i440fx_fuzz_qos(s, Data, Size);
> _Exit(0);
> } else {
> + flush_events(s);
> wait(NULL);
> }
> }
> diff --git a/tests/qtest/fuzz/virtio_net_fuzz.c
> b/tests/qtest/fuzz/virtio_net_fuzz.c
> index d08a47e278..a33bd73067 100644
> --- a/tests/qtest/fuzz/virtio_net_fuzz.c
> +++ b/tests/qtest/fuzz/virtio_net_fuzz.c
> @@ -122,6 +122,7 @@ static void virtio_net_fork_fuzz(QTestState *s,
> flush_events(s);
> _Exit(0);
> } else {
> + flush_events(s);
> wait(NULL);
> }
> }
> @@ -134,6 +135,7 @@ static void virtio_net_fork_fuzz_check_used(QTestState *s,
> flush_events(s);
> _Exit(0);
> } else {
> + flush_events(s);
> wait(NULL);
> }
> }
> diff --git a/tests/qtest/fuzz/virtio_scsi_fuzz.c
> b/tests/qtest/fuzz/virtio_scsi_fuzz.c
> index 3b95247f12..51dce491ab 100644
> --- a/tests/qtest/fuzz/virtio_scsi_fuzz.c
> +++ b/tests/qtest/fuzz/virtio_scsi_fuzz.c
> @@ -145,6 +145,7 @@ static void virtio_scsi_fork_fuzz(QTestState *s,
> flush_events(s);
> _Exit(0);
> } else {
> + flush_events(s);
> wait(NULL);
> }
> }
> @@ -164,6 +165,7 @@ static void virtio_scsi_with_flag_fuzz(QTestState *s,
> }
> _Exit(0);
> } else {
> + flush_events(s);
> wait(NULL);
> }
> }
> --
> 2.26.2
- [PATCH 0/4] fuzz: misc changes for oss-fuzz compatability, Alexander Bulekov, 2020/05/11
- [PATCH 3/4] fuzz: add mangled object name to linker script, Alexander Bulekov, 2020/05/11
- [PATCH 4/4] fuzz: run the main-loop in fork-server process, Alexander Bulekov, 2020/05/11
- Re: [PATCH 4/4] fuzz: run the main-loop in fork-server process,
Darren Kenny <=
- [PATCH 2/4] fuzz: fix typo in i440fx-qtest-reboot arguments, Alexander Bulekov, 2020/05/11
- [PATCH 1/4] fuzz: add datadir for oss-fuzz compatability, Alexander Bulekov, 2020/05/11
- Re: [PATCH 0/4] fuzz: misc changes for oss-fuzz compatability, Alexander Bulekov, 2020/05/19
- Re: [PATCH 0/4] fuzz: misc changes for oss-fuzz compatability, Stefan Hajnoczi, 2020/05/26