Skip to content

Commit

Permalink
Merge pull request #481 from RalfJung/deliberate-ub
Browse files Browse the repository at this point in the history
deliberate-ub: mention the load-load races in tokio
  • Loading branch information
RalfJung authored Dec 8, 2023
2 parents 2f7bf40 + 6c5c69f commit ea9f83b
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions resources/deliberate-ub.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ We should evaluate whether there truly is some use-case here that is not current
see the [discussion here](https://github.com/rust-lang/unsafe-code-guidelines/issues/449).<br>
The alternative is to not use the "fast path" for problematic types (and fall back to the SeqLock), but that requires some way to query at `const`-time whether the type contains padding (or provenance).
(Or of course one can use inline assembly, but it would be better if that was not required.)
* tokio causes race conditions between atomic and non-atomic loads which are [not permitted](https://doc.rust-lang.org/nightly/std/sync/atomic/index.html#memory-model-for-atomic-accesses);
see [this issue](https://github.com/tokio-rs/tokio/issues/6155) for details.

### Cases related to aliasing

Expand Down

0 comments on commit ea9f83b

Please sign in to comment.