bytecodealliance / wasmtime

A fast and secure runtime for WebAssembly
https://wasmtime.dev/
Apache License 2.0
15.35k stars 1.3k forks source link

Handling pointer provenance in Pulley #9026

Open alexcrichton opened 3 months ago

alexcrichton commented 3 months ago

This started out as https://github.com/bytecodealliance/wasmtime/issues/9015 but I'm evolving this now to be about Pulley specifically. Current thinking is that Pulley will not be compatible with -Zmiri-strict-provenance, but changes are necessary to make it compatible with -Zmiri-permissive-provenance. I believe the concrete of changes are:

Right now expose_provenance and with_exposed_provenance are unstable so I don't believe that this is actionable at this time, but I wanted to write this down for later.

cc @fitzgen

alexcrichton commented 3 months ago

Ralf also pointed to https://github.com/rust-lang/unsafe-code-guidelines/issues/497 which has some interesting discussion and I believe reaches a similar conclusion.

fitzgen commented 3 months ago

Ralf also pointed to rust-lang/unsafe-code-guidelines#497 which has some interesting discussion and I believe reaches a similar conclusion.

This comment from Ralf, in particular, seems to summarize our recent discussions: https://github.com/rust-lang/unsafe-code-guidelines/issues/497#issuecomment-2003100550