I noticed that with a sufficiently small timeout, the fuzzer fork-server sometimes locks up. On closer inspection, the issue appeared to be caused by entering our SIGALRM handler, while libfuzzer is in it's crash handlers. Because libfuzzer relies on pipe communication with an external child process to print out stack-traces, we shouldn't exit early, and leave an orphan child. Check for children in the SIGALRM handler to avoid this issue. Signed-off-by: Alexander Bulekov <alxndr@bu.edu> Acked-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Darren Kenny <darren.kenny@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
---|---|---|
.. | ||
fork_fuzz.c | ||
fork_fuzz.h | ||
fork_fuzz.ld | ||
fuzz.c | ||
fuzz.h | ||
generic_fuzz.c | ||
generic_fuzz_configs.h | ||
i440fx_fuzz.c | ||
meson.build | ||
qos_fuzz.c | ||
qos_fuzz.h | ||
qtest_wrappers.c | ||
virtio_blk_fuzz.c | ||
virtio_net_fuzz.c | ||
virtio_scsi_fuzz.c |