Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fuzz_storvsp: forward progress with invalid packets #648

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

mattkur
Copy link
Contributor

@mattkur mattkur commented Jan 10, 2025

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.

…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 accomodate.
@mattkur mattkur requested review from a team as code owners January 10, 2025 19:09
@mattkur mattkur requested a review from Copilot January 10, 2025 19:11

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant