Skip to content

Commit d3f6363

Browse files
committed
aarch64-dit: fix unsafe inside unsafe lints
1 parent 7c9fd47 commit d3f6363

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

aarch64-dit/src/lib.rs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,13 @@ impl Drop for Guard<'_> {
9191
#[target_feature(enable = "dit")]
9292
unsafe fn get_dit_enabled() -> bool {
9393
let mut dit: u64;
94-
asm!(
95-
"mrs {dit}, DIT",
96-
dit = out(reg) dit,
97-
options(nomem, nostack, preserves_flags)
98-
);
94+
unsafe {
95+
asm!(
96+
"mrs {dit}, DIT",
97+
dit = out(reg) dit,
98+
options(nomem, nostack, preserves_flags)
99+
);
100+
}
99101
(dit >> 24) & 1 != 0
100102
}
101103

@@ -104,17 +106,19 @@ unsafe fn get_dit_enabled() -> bool {
104106
/// Returns the previous DIT state prior to enabling DIT.
105107
#[target_feature(enable = "dit")]
106108
unsafe fn set_dit_enabled() -> bool {
107-
let was_enabled = get_dit_enabled();
108-
asm!("msr DIT, #1", options(nomem, nostack, preserves_flags));
109-
was_enabled
109+
unsafe {
110+
let was_enabled = get_dit_enabled();
111+
asm!("msr DIT, #1", options(nomem, nostack, preserves_flags));
112+
was_enabled
113+
}
110114
}
111115

112116
/// Restore DIT state depending on the enabled bit.
113117
#[target_feature(enable = "dit")]
114118
unsafe fn restore_dit(enabled: bool) {
115119
if !enabled {
116120
// Disable DIT
117-
asm!("msr DIT, #0", options(nomem, nostack, preserves_flags));
121+
unsafe { asm!("msr DIT, #0", options(nomem, nostack, preserves_flags)) };
118122
}
119123
}
120124

0 commit comments

Comments
 (0)