Skip to content

Commit 8279b63

Browse files
committed
Review: write_raw() must be unsafe
1 parent 78f7968 commit 8279b63

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

cortex-m/src/interrupt.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ where
7676

7777
let r = f();
7878

79-
crate::register::primask::write_raw(primask);
79+
unsafe {
80+
crate::register::primask::write_raw(primask);
81+
}
8082

8183
r
8284
}

cortex-m/src/register/primask.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ pub fn read_raw() -> u32 {
5353
/// Note that bits [31:1] are reserved and SBZP (Should-Be-Zero-or-Preserved)
5454
#[cfg(cortex_m)]
5555
#[inline]
56-
pub fn write_raw(r: u32) {
56+
pub unsafe fn write_raw(r: u32) {
5757
// Ensure no preceeding memory accesses are reordered to after interrupts are possibly enabled.
5858
compiler_fence(Ordering::SeqCst);
5959
unsafe { asm!("msr PRIMASK, {}", in(reg) r, options(nomem, nostack, preserves_flags)) };

0 commit comments

Comments
 (0)