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

Update wasmi used in differential fuzzing #5104

Merged
merged 2 commits into from
Oct 24, 2022

Conversation

alexcrichton
Copy link
Member

Closes #4818
Closes #5102

@github-actions github-actions bot added the fuzzing Issues related to our fuzzing infrastructure label Oct 24, 2022
@github-actions
Copy link

Subscribe to Label Action

cc @fitzgen

This issue or pull request has been labeled: "fuzzing"

Thus the following users have been cc'd because of the following labels:

  • fitzgen: fuzzing

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

@Robbepop
Copy link
Contributor

Robbepop commented Oct 24, 2022

Very cool to see wasmi update in the Wasmtime fuzzing.

We have not yet integrated full fuzz testing for the newest wasmi engine ourselves (just very basic fuzzing so far) so my main worry is that this new fuzzy test might be a big noisy at start. If that's the case we will definitely fix found wasmi bugs asap.

Concerning cargo-vet the following crates must be registered to your database:

  • wasmi: Well, this is a tough one tbh. I am the author of it but it contains plenty of unsafe code for optimization purposes. We (Parity) are going to use it in production very soon(TM). I am the author of that crate.
  • wasmi_core: This is just a small utility crate and should be pretty boring. Also it has no unsafe code. I am the author of that crate.
  • wasmi_arena: Similar to wasmi_core. Just defines some arena data structures for use in wasmi. I am the author of that crate.
  • memory-units: Can be safely ignored since wasmi already removed it.
  • indexmap-nostd: This again is interesting. It is a reimlpementation of the API of the well-known indexmap crate. It uses no unsafe Rust code and is implemented as simple as it gets. We use it in the wasmparser-nostd fork of wasmparser and it passes all wasm-tools tests as well as all of wasmi tests but has no tests on its own. I am the author of that crate.
  • wasmparser-nostd: More or less trivial fork of wasmparser. The most interesting difference is the use of the aforementioned indexmap-nostd. I am the author of that fork.

@alexcrichton
Copy link
Member Author

I've added cargo vet entries for all new dependencies added here, except for the wasmi crate itself. I've updated the exemption from 0.11.0 to 0.19.0 so we're not necessarily in much worse of a position, but othewise I'm not in a position to provide a "vet" of that crate in the official sense but I believe it's safe to run for fuzzing for us.

Otherwise thanks for the info @Robbepop, I've run the fuzzer for a number of hours locally and nothing has shown up, so if something pops up on oss-fuzz I'll forward along the issue.

@alexcrichton alexcrichton enabled auto-merge (squash) October 24, 2022 15:22
@alexcrichton alexcrichton merged commit 95f02eb into bytecodealliance:main Oct 24, 2022
@alexcrichton alexcrichton deleted the update-wasmi branch October 24, 2022 16:41
@Robbepop
Copy link
Contributor

Otherwise thanks for the info @Robbepop, I've run the fuzzer for a number of hours locally and nothing has shown up, so if something pops up on oss-fuzz I'll forward along the issue.

Oh wow, that's incredible news. Also looking forward to any forwarded bugs. :)

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

Successfully merging this pull request may close these issues.

RUSTSEC-2022-0061: Crate parity-wasm deprecated by the author Update wasmi differential fuzzing
3 participants