Skip to content

Commit 8b0b2d1

Browse files
committed
Auto merge of rust-lang#2687 - RalfJung:getrandom, r=RalfJung
ensure current getrandom works with strict provenance
2 parents 105dba7 + 8061e2f commit 8b0b2d1

File tree

7 files changed

+69
-49
lines changed

7 files changed

+69
-49
lines changed

src/tools/miri/test_dependencies/Cargo.lock

Lines changed: 54 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
1616

1717
[[package]]
1818
name = "bytes"
19-
version = "1.2.1"
19+
version = "1.3.0"
2020
source = "registry+https://github.com/rust-lang/crates.io-index"
21-
checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
21+
checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
2222

2323
[[package]]
2424
name = "cfg-if"
@@ -39,9 +39,9 @@ dependencies = [
3939

4040
[[package]]
4141
name = "getrandom"
42-
version = "0.2.7"
42+
version = "0.2.8"
4343
source = "registry+https://github.com/rust-lang/crates.io-index"
44-
checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
44+
checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
4545
dependencies = [
4646
"cfg-if",
4747
"libc",
@@ -59,9 +59,9 @@ dependencies = [
5959

6060
[[package]]
6161
name = "libc"
62-
version = "0.2.133"
62+
version = "0.2.137"
6363
source = "registry+https://github.com/rust-lang/crates.io-index"
64-
checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966"
64+
checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
6565

6666
[[package]]
6767
name = "lock_api"
@@ -90,9 +90,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
9090

9191
[[package]]
9292
name = "mio"
93-
version = "0.8.4"
93+
version = "0.8.5"
9494
source = "registry+https://github.com/rust-lang/crates.io-index"
95-
checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
95+
checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
9696
dependencies = [
9797
"libc",
9898
"log",
@@ -105,7 +105,7 @@ name = "miri-test-deps"
105105
version = "0.1.0"
106106
dependencies = [
107107
"getrandom 0.1.16",
108-
"getrandom 0.2.7",
108+
"getrandom 0.2.8",
109109
"libc",
110110
"num_cpus",
111111
"page_size",
@@ -115,19 +115,19 @@ dependencies = [
115115

116116
[[package]]
117117
name = "num_cpus"
118-
version = "1.13.1"
118+
version = "1.14.0"
119119
source = "registry+https://github.com/rust-lang/crates.io-index"
120-
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
120+
checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
121121
dependencies = [
122122
"hermit-abi",
123123
"libc",
124124
]
125125

126126
[[package]]
127127
name = "page_size"
128-
version = "0.4.2"
128+
version = "0.5.0"
129129
source = "registry+https://github.com/rust-lang/crates.io-index"
130-
checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd"
130+
checksum = "1b7663cbd190cfd818d08efa8497f6cd383076688c49a391ef7c0d03cd12b561"
131131
dependencies = [
132132
"libc",
133133
"winapi",
@@ -145,9 +145,9 @@ dependencies = [
145145

146146
[[package]]
147147
name = "parking_lot_core"
148-
version = "0.9.3"
148+
version = "0.9.4"
149149
source = "registry+https://github.com/rust-lang/crates.io-index"
150-
checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929"
150+
checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
151151
dependencies = [
152152
"cfg-if",
153153
"libc",
@@ -164,15 +164,15 @@ checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
164164

165165
[[package]]
166166
name = "ppv-lite86"
167-
version = "0.2.16"
167+
version = "0.2.17"
168168
source = "registry+https://github.com/rust-lang/crates.io-index"
169-
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
169+
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
170170

171171
[[package]]
172172
name = "proc-macro2"
173-
version = "1.0.45"
173+
version = "1.0.47"
174174
source = "registry+https://github.com/rust-lang/crates.io-index"
175-
checksum = "3edcd08cf4fea98d1ae6c9ddd3b8ccb1acac7c3693d62625969a7daa04a2ae36"
175+
checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
176176
dependencies = [
177177
"unicode-ident",
178178
]
@@ -213,7 +213,7 @@ version = "0.6.4"
213213
source = "registry+https://github.com/rust-lang/crates.io-index"
214214
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
215215
dependencies = [
216-
"getrandom 0.2.7",
216+
"getrandom 0.2.8",
217217
]
218218

219219
[[package]]
@@ -242,9 +242,9 @@ dependencies = [
242242

243243
[[package]]
244244
name = "smallvec"
245-
version = "1.9.0"
245+
version = "1.10.0"
246246
source = "registry+https://github.com/rust-lang/crates.io-index"
247-
checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
247+
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
248248

249249
[[package]]
250250
name = "socket2"
@@ -258,9 +258,9 @@ dependencies = [
258258

259259
[[package]]
260260
name = "syn"
261-
version = "1.0.101"
261+
version = "1.0.103"
262262
source = "registry+https://github.com/rust-lang/crates.io-index"
263-
checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
263+
checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
264264
dependencies = [
265265
"proc-macro2",
266266
"quote",
@@ -269,9 +269,9 @@ dependencies = [
269269

270270
[[package]]
271271
name = "tokio"
272-
version = "1.21.2"
272+
version = "1.22.0"
273273
source = "registry+https://github.com/rust-lang/crates.io-index"
274-
checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
274+
checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3"
275275
dependencies = [
276276
"autocfg",
277277
"bytes",
@@ -300,9 +300,9 @@ dependencies = [
300300

301301
[[package]]
302302
name = "unicode-ident"
303-
version = "1.0.4"
303+
version = "1.0.5"
304304
source = "registry+https://github.com/rust-lang/crates.io-index"
305-
checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
305+
checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
306306

307307
[[package]]
308308
name = "wasi"
@@ -340,43 +340,57 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
340340

341341
[[package]]
342342
name = "windows-sys"
343-
version = "0.36.1"
343+
version = "0.42.0"
344344
source = "registry+https://github.com/rust-lang/crates.io-index"
345-
checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
345+
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
346346
dependencies = [
347+
"windows_aarch64_gnullvm",
347348
"windows_aarch64_msvc",
348349
"windows_i686_gnu",
349350
"windows_i686_msvc",
350351
"windows_x86_64_gnu",
352+
"windows_x86_64_gnullvm",
351353
"windows_x86_64_msvc",
352354
]
353355

356+
[[package]]
357+
name = "windows_aarch64_gnullvm"
358+
version = "0.42.0"
359+
source = "registry+https://github.com/rust-lang/crates.io-index"
360+
checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
361+
354362
[[package]]
355363
name = "windows_aarch64_msvc"
356-
version = "0.36.1"
364+
version = "0.42.0"
357365
source = "registry+https://github.com/rust-lang/crates.io-index"
358-
checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
366+
checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
359367

360368
[[package]]
361369
name = "windows_i686_gnu"
362-
version = "0.36.1"
370+
version = "0.42.0"
363371
source = "registry+https://github.com/rust-lang/crates.io-index"
364-
checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
372+
checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
365373

366374
[[package]]
367375
name = "windows_i686_msvc"
368-
version = "0.36.1"
376+
version = "0.42.0"
369377
source = "registry+https://github.com/rust-lang/crates.io-index"
370-
checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
378+
checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
371379

372380
[[package]]
373381
name = "windows_x86_64_gnu"
374-
version = "0.36.1"
382+
version = "0.42.0"
383+
source = "registry+https://github.com/rust-lang/crates.io-index"
384+
checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
385+
386+
[[package]]
387+
name = "windows_x86_64_gnullvm"
388+
version = "0.42.0"
375389
source = "registry+https://github.com/rust-lang/crates.io-index"
376-
checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
390+
checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
377391

378392
[[package]]
379393
name = "windows_x86_64_msvc"
380-
version = "0.36.1"
394+
version = "0.42.0"
381395
source = "registry+https://github.com/rust-lang/crates.io-index"
382-
checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
396+
checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"

src/tools/miri/test_dependencies/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ edition = "2021"
1111
# all dependencies (and their transitive ones) listed here can be used in `tests/`.
1212
tokio = { version = "1.0", features = ["full"] }
1313
libc = "0.2"
14-
page_size = "0.4.1"
14+
page_size = "0.5"
1515
num_cpus = "1.10.1"
1616

1717
getrandom_1 = { package = "getrandom", version = "0.1" }
18-
getrandom_2 = { package = "getrandom", version = "0.2" }
18+
getrandom = { version = "0.2" }
1919
rand = { version = "0.8", features = ["small_rng"] }
2020

2121
[workspace]

src/tools/miri/tests/fail/crates/tokio_mvp.stderr

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
error: unsupported operation: can't call foreign function: epoll_create1
22
--> CARGO_REGISTRY/.../epoll.rs:LL:CC
33
|
4-
LL | syscall!(epoll_create1(flag)).map(|ep| Selector {
5-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't call foreign function: epoll_create1
4+
LL | let res = syscall!(epoll_create1(libc::EPOLL_CLOEXEC));
5+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't call foreign function: epoll_create1
66
|
77
= help: this is likely not a bug in the program; it indicates that the program performed an operation that the interpreter does not support
88
= note: BACKTRACE:
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// mac-os `getrandom_1` does some pointer shenanigans
2+
//@compile-flags: -Zmiri-permissive-provenance
3+
4+
/// Test old version of `getrandom`.
5+
fn main() {
6+
let mut data = vec![0; 16];
7+
getrandom_1::getrandom(&mut data).unwrap();
8+
}

src/tools/miri/tests/pass-dep/random.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
// mac-os `getrandom_1` does some pointer shenanigans
2-
//@compile-flags: -Zmiri-permissive-provenance
1+
//@compile-flags: -Zmiri-strict-provenance
32
use rand::{rngs::SmallRng, Rng, SeedableRng};
43

54
fn main() {
6-
// Test `getrandom` directly (in multiple different versions).
5+
// Test `getrandom` directly.
76
let mut data = vec![0; 16];
8-
getrandom_1::getrandom(&mut data).unwrap();
9-
getrandom_2::getrandom(&mut data).unwrap();
7+
getrandom::getrandom(&mut data).unwrap();
108

119
// Try seeding with "real" entropy.
1210
let mut rng = SmallRng::from_entropy();

0 commit comments

Comments
 (0)