-
Notifications
You must be signed in to change notification settings - Fork 100
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fuzz_storvsp: forward progress with invalid packets (#648)
Refactor the storvsp fuzzer to allow for forward progress: split the fuzzing loop into its own async function, and have the fuzz executor wait for either the fuzzing loop to run out of arbitrary data, or for the thread parsing storvsp packets (the test worker's task) to finish. This is necessary because storvsp stops packet processing if the guest sends storvsp a corrupted or invalid packet. This is correct behavior, and the fuzzer must accommodate. Tested by running running the fuzzer for some time and inspecting code coverage. There is a noticeable increase in code coverage on the paths that process IOs (where these were previously not hit). Also ran `cargo xtask fuzz run fuzz_storvsp -- -- -timeout=1` to catch when this likely hangs, with no hangs seen.
- Loading branch information
Showing
4 changed files
with
83 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters