uefi-rs
- While working on adding some more unit tests I found some undefined behavior using Miri. Filed an issue.
- Put up a PR to
partially fix that UB, by avoiding use of
allocate_buffer
in the file info code. - Found some potential UB in the file info code with
-Zmiri-tag-raw-pointers
, put up a PR to fix it. - I'd like to enable
-Zmiri-tag-raw-pointers
in our Miri tests in general, but it's catching some issues withDevicePath
. This one is tricky because unlike most protocols,DevicePath
is really unsized. But we don't currently implement it that way.
Rust
- I've been using Miri more in uefi-rs to test our unsafe code, which we have quite a lot of. One issue I've had is that I find myself guessing a lot as to what Miri is trying to tell me. The error messages are relatively terse, and while a lot has been written about stacked borrows, it's not clear what the best resource to read is. As a first step to improving this situation I filed an issue in the Miri repo suggesting adding documentation for Miri's output to the readme. Even just documenting the notation used in the output would be a good start.