Ralf Jung
34be937d5f
add -Zmiri-report-progress to regularly print a stacktrace of what we are executing
2022-06-26 14:31:57 -04:00
bors
1589ba3bbc
Auto merge of #2264 - RalfJung:not-a-fixme, r=RalfJung
...
remove a FIXME that is not actually a bug
2022-06-25 15:54:31 +00:00
Ralf Jung
f66c64bed2
remove a FIXME that is not actually a bug
2022-06-25 11:52:29 -04:00
Ralf Jung
58c79c5b6f
tweaks and feedback
2022-06-24 22:02:17 -04:00
Ralf Jung
4fbb284a99
implement 'delimited' expose tracking so we still detect some UB
2022-06-24 20:05:56 -04:00
Ralf Jung
8d6fdaa024
make the tests pass
...
(and some formatting)
2022-06-24 18:03:02 -04:00
Ralf Jung
c0f7118342
reorganize exposure code a bit
2022-06-24 16:45:22 -04:00
carbotaniuman
d1e7de117c
Try fix stuff
2022-06-24 16:10:23 -04:00
carbotaniuman
c7feb014b0
Maybe this wil work
2022-06-24 16:10:23 -04:00
carbotaniuman
57ce47b728
Handle wildcard pointers in SB
2022-06-24 16:10:23 -04:00
bors
655eed35b7
Auto merge of #2248 - RalfJung:arc-drop-fix, r=RalfJung
...
do not protect SRW items
This is the Miri version of https://github.com/rust-lang/rust/pull/98017 .
2022-06-22 21:39:41 +00:00
Ralf Jung
f992099820
fix ICE when const refers to extern static
2022-06-21 21:03:40 -07:00
Ralf Jung
8d1b2ca3ec
check that tag_alloc_base_pointer is not called on the wrong things
2022-06-21 21:03:40 -07:00
Ralf Jung
1b214a0d12
do not protect SRW items
2022-06-21 09:32:58 -07:00
bors
c4dd3f4ef9
Auto merge of #2228 - cbeuw:futex-fix, r=RalfJung
...
Prevent futex_wait from actually waiting if a concurrent waker was executed before us
Fixes #2223
Two SC fences were placed in `futex_wake` (after the caller has changed `addr`), and in `futex_wait` (before we read `addr`). This guarantees that `futex_wait` sees the value written to `addr` before the last `futex_wake` call, should one exists, and avoid going into sleep with no one else to wake us up.
ada7b72a87/src/concurrency/weak_memory.rs (L324-L326)
Earlier I proposed to use `fetch_add(0)` to read the latest value in MO, though this isn't the proper way to do it and breaks aliasing: syscall caller may pass in a `*const` from a `&` and Miri complains about write to a `SharedReadOnly` location, causing this test to fail.
ada7b72a87/tests/pass/concurrency/linux-futex.rs (L56-L68)
2022-06-18 15:10:56 +00:00
Ralf Jung
737a5b3b98
tweak correctness comment
2022-06-18 07:59:46 -07:00
Andy Wang
807a19a50a
Elaborate correctness comments
2022-06-15 01:44:32 +01:00
bors
2bbb70f584
Auto merge of #2203 - RalfJung:deprecate, r=oli-obk
...
deprecate -Zmiri-allow-uninit-numbers and -Zmiri-allow-ptr-int-transmute
Cc https://github.com/rust-lang/miri/issues/2187 https://github.com/rust-lang/miri/issues/2188
2022-06-13 10:23:42 +00:00
Scott McMurray
238bbd63ab
Add #![feature(yeet_expr)]
2022-06-12 18:39:44 -07:00
bors
03a05ae211
Auto merge of #2195 - RalfJung:vtable-validation, r=RalfJung
...
test for Stacked Borrows error during vtable validation
Fixes https://github.com/rust-lang/miri/issues/2123
Needs https://github.com/rust-lang/rust/pull/97761
2022-06-12 05:34:22 +00:00
Ralf Jung
c3b8509654
rename ExperimentalUb → StackedBorrowsUb
2022-06-11 17:42:23 -07:00
Andy Wang
b6bcbf76fd
Prevent futex_wait from reading outdated value
2022-06-11 20:45:45 +01:00
infrandomness
bc27fbb2f7
Add assert_target_os_is_unix
function
2022-06-11 18:50:36 +02:00
infrandomness
58d00aa642
Add target_os_is_unix helper
2022-06-11 18:45:53 +02:00
bors
ada7b72a87
Auto merge of #2227 - RalfJung:doc, r=RalfJung
...
make some rustdoc comments more readable
2022-06-11 15:50:11 +00:00
bors
c5f7a7d27a
Auto merge of #2215 - InfRandomness:getpid_shim, r=RalfJung
...
Getpid shim
2022-06-11 15:25:26 +00:00
Ralf Jung
5f1ba4432b
make some rustdoc comments more readable
2022-06-11 08:03:54 -07:00
bors
7656fc45cf
Auto merge of #2222 - InfRandomness:cargo-docs, r=RalfJung
...
Add mandatory cargo_doc
2022-06-11 15:02:55 +00:00
InfRandomness
3e03054ef0
Add getpid shim
2022-06-11 11:28:50 +02:00
infrandomness
eaa1e444eb
Add mandatory cargo_doc
...
Co-authored-by: Joshua Nelson <github@jyn.dev>
2022-06-11 10:59:57 +02:00
Ralf Jung
4da48e06c7
make frame_in_std check work with inlining
2022-06-10 20:25:58 -07:00
bors
4d6eca1c08
Auto merge of #2218 - Nilstrieb:faster-tag-partial-eq, r=RalfJung
...
Optimize `SbTag::eq`
The code before generated really bad code with a branch.
This nudges LLVM towards being smarter and simply comparing
the integers.
See https://github.com/rust-lang/miri/pull/2214#issuecomment-1150124617
2022-06-08 17:34:16 +00:00
Nilstrieb
93db9a6d71
Add comment to explain manual optimization
2022-06-08 19:29:54 +02:00
Nilstrieb
c01bf62ee4
Allow clippy::derive_hash_xor_eq
2022-06-08 18:43:12 +02:00
Nilstrieb
956a84bfe0
Optimize SbTag::eq
...
The code before generated really bad code with a branch.
This nudges LLVM towards being smarter and simply comparing
the integers.
2022-06-08 18:22:48 +02:00
Ralf Jung
657386cc91
rustup
2022-06-08 12:10:54 -04:00
Ralf Jung
a310ccc9a4
some clippy-induced cleanup
2022-06-08 08:06:32 -04:00
Ralf Jung
7a5de0c98a
silence another clippy lint
2022-06-07 16:01:44 -04:00
InfRandomness
4758ce74ef
Fix typo
2022-06-07 17:43:45 +00:00
Ralf Jung
bf372a8fbc
remove warning about thread support being experimental
2022-06-06 20:16:02 -04:00
Ralf Jung
b64c9a0a83
make scheduler preemptive, with configurable preemption rate
2022-06-06 20:16:02 -04:00
Ralf Jung
dac95a3ad8
rename AllocationMap → RangeObjectMap
2022-06-06 20:16:02 -04:00
Ralf Jung
14913e993b
deprecate -Zmiri-allow-uninit-numbers and -Zmiri-allow-ptr-int-transmute
2022-06-06 16:07:30 -04:00
Andy Wang
1b32d14255
Make racy imperfectly overlapping atomic access unsupported instead of UB
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-06-06 19:16:02 +01:00
Andy Wang
bf7a5c4154
Add more backgrounds on lazy store buffers
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-06-06 19:16:02 +01:00
Andy Wang
6fb7c131ed
Remove unused lifetimes
2022-06-06 19:16:02 +01:00
Andy Wang
c731071640
Give flag temp disabling race detector a better name
2022-06-06 19:16:00 +01:00
Andy Wang
8215702d5a
Refer to GitHub issue on overwritten init value
2022-06-06 19:16:00 +01:00
Andy Wang
4a07f78dad
Forbade all racing mixed size atomic accesses
2022-06-06 19:16:00 +01:00
Andy Wang
ceb173d647
Move logic out of machine.rs
2022-06-06 19:15:59 +01:00