Skip to content

Commit a725a10

Browse files
committed
Make RDRAND/RDSEED safe
1 parent 8336740 commit a725a10

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

crates/core_arch/src/x86/rdrand.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ use stdarch_test::assert_instr;
2626
#[target_feature(enable = "rdrand")]
2727
#[cfg_attr(test, assert_instr(rdrand))]
2828
#[stable(feature = "simd_x86", since = "1.27.0")]
29-
pub unsafe fn _rdrand16_step(val: &mut u16) -> i32 {
30-
let (v, flag) = x86_rdrand16_step();
29+
pub fn _rdrand16_step(val: &mut u16) -> i32 {
30+
let (v, flag) = unsafe { x86_rdrand16_step() };
3131
*val = v;
3232
flag
3333
}
@@ -40,8 +40,8 @@ pub unsafe fn _rdrand16_step(val: &mut u16) -> i32 {
4040
#[target_feature(enable = "rdrand")]
4141
#[cfg_attr(test, assert_instr(rdrand))]
4242
#[stable(feature = "simd_x86", since = "1.27.0")]
43-
pub unsafe fn _rdrand32_step(val: &mut u32) -> i32 {
44-
let (v, flag) = x86_rdrand32_step();
43+
pub fn _rdrand32_step(val: &mut u32) -> i32 {
44+
let (v, flag) = unsafe { x86_rdrand32_step() };
4545
*val = v;
4646
flag
4747
}
@@ -54,8 +54,8 @@ pub unsafe fn _rdrand32_step(val: &mut u32) -> i32 {
5454
#[target_feature(enable = "rdseed")]
5555
#[cfg_attr(test, assert_instr(rdseed))]
5656
#[stable(feature = "simd_x86", since = "1.27.0")]
57-
pub unsafe fn _rdseed16_step(val: &mut u16) -> i32 {
58-
let (v, flag) = x86_rdseed16_step();
57+
pub fn _rdseed16_step(val: &mut u16) -> i32 {
58+
let (v, flag) = unsafe { x86_rdseed16_step() };
5959
*val = v;
6060
flag
6161
}
@@ -68,8 +68,8 @@ pub unsafe fn _rdseed16_step(val: &mut u16) -> i32 {
6868
#[target_feature(enable = "rdseed")]
6969
#[cfg_attr(test, assert_instr(rdseed))]
7070
#[stable(feature = "simd_x86", since = "1.27.0")]
71-
pub unsafe fn _rdseed32_step(val: &mut u32) -> i32 {
72-
let (v, flag) = x86_rdseed32_step();
71+
pub fn _rdseed32_step(val: &mut u32) -> i32 {
72+
let (v, flag) = unsafe { x86_rdseed32_step() };
7373
*val = v;
7474
flag
7575
}

crates/core_arch/src/x86_64/rdrand.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ use stdarch_test::assert_instr;
2323
#[target_feature(enable = "rdrand")]
2424
#[cfg_attr(test, assert_instr(rdrand))]
2525
#[stable(feature = "simd_x86", since = "1.27.0")]
26-
pub unsafe fn _rdrand64_step(val: &mut u64) -> i32 {
27-
let (v, flag) = x86_rdrand64_step();
26+
pub fn _rdrand64_step(val: &mut u64) -> i32 {
27+
let (v, flag) = unsafe { x86_rdrand64_step() };
2828
*val = v;
2929
flag
3030
}
@@ -37,8 +37,8 @@ pub unsafe fn _rdrand64_step(val: &mut u64) -> i32 {
3737
#[target_feature(enable = "rdseed")]
3838
#[cfg_attr(test, assert_instr(rdseed))]
3939
#[stable(feature = "simd_x86", since = "1.27.0")]
40-
pub unsafe fn _rdseed64_step(val: &mut u64) -> i32 {
41-
let (v, flag) = x86_rdseed64_step();
40+
pub fn _rdseed64_step(val: &mut u64) -> i32 {
41+
let (v, flag) = unsafe { x86_rdseed64_step() };
4242
*val = v;
4343
flag
4444
}

0 commit comments

Comments
 (0)