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 <alx...@bu.edu>
Reviewed-by: Darren Kenny <darren.ke...@oracle.com> > --- > 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