Fuzzing in Cloud Hypervisor

Cloud Hypervisor uses cargo-fuzz for fuzzing individual components.

The fuzzers are are in the fuzz/fuzz_targets directory

Preparation

Switch to nightly:

rustup override set nightly

Install cargo fuzz:

cargo install cargo-fuzz

Running the fuzzers

e.g. To run the block fuzzer using all available CPUs:

cargo fuzz run block -j `nproc`

Adding a new fuzzer

cargo fuzz add <new_fuzzer>

Inspiration for fuzzers can be found in crosvm