Skip to content

Commit

Permalink
Auto merge of rust-lang#130497 - saethlin:alloc-zeroed-is-unstable, r…
Browse files Browse the repository at this point in the history
…=bjorn3

read_volatile __rust_no_alloc_shim_is_unstable in alloc_zeroed

It was pointed out in rust-lang#128854 (comment) that the magic volatile read was probably missing from `alloc_zeroed`. I can't find any mention of `alloc_zeroed` on rust-lang#86844, so it looks like this was just missed initially.
  • Loading branch information
bors committed Sep 18, 2024
2 parents aaed38b + 4676144 commit 7fc70f8
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion library/alloc/src/alloc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,13 @@ pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8
#[inline]
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
pub unsafe fn alloc_zeroed(layout: Layout) -> *mut u8 {
unsafe { __rust_alloc_zeroed(layout.size(), layout.align()) }
unsafe {
// Make sure we don't accidentally allow omitting the allocator shim in
// stable code until it is actually stabilized.
core::ptr::read_volatile(&__rust_no_alloc_shim_is_unstable);

__rust_alloc_zeroed(layout.size(), layout.align())
}
}

#[cfg(not(test))]
Expand Down

0 comments on commit 7fc70f8

Please sign in to comment.