Avoid int to ptr transmute by casting first

This commit is contained in:
Thom Chiovoloni 2022-05-23 23:34:10 -07:00
parent ddc5aa4ffb
commit dcdd9bbc56
No known key found for this signature in database
GPG key ID: E2EFD4309E11C8A8

View file

@ -4,11 +4,11 @@ use core::mem;
// Kernel-provided user-mode helper functions:
// https://www.kernel.org/doc/Documentation/arm/kernel_user_helpers.txt
unsafe fn __kuser_cmpxchg(oldval: u32, newval: u32, ptr: *mut u32) -> bool {
let f: extern "C" fn(u32, u32, *mut u32) -> u32 = mem::transmute(0xffff0fc0u32);
let f: extern "C" fn(u32, u32, *mut u32) -> u32 = mem::transmute(0xffff0fc0usize as *const ());
f(oldval, newval, ptr) == 0
}
unsafe fn __kuser_memory_barrier() {
let f: extern "C" fn() = mem::transmute(0xffff0fa0u32);
let f: extern "C" fn() = mem::transmute(0xffff0fa0usize as *const ());
f();
}