diff --git a/src/arch/x86_64/rmm.rs b/src/arch/x86_64/rmm.rs index 2b9132769d..503fc273ae 100644 --- a/src/arch/x86_64/rmm.rs +++ b/src/arch/x86_64/rmm.rs @@ -35,7 +35,7 @@ unsafe fn page_flags(virt: VirtualAddress) -> PageFlags { use crate::kernel_executable_offsets::*; let virt_addr = virt.data(); - if virt_addr >= __text_start() && virt_addr < __text_end() { + (if virt_addr >= __text_start() && virt_addr < __text_end() { // Remap text read-only, execute PageFlags::new().execute(true) } else if virt_addr >= __rodata_start() && virt_addr < __rodata_end() { @@ -44,7 +44,8 @@ unsafe fn page_flags(virt: VirtualAddress) -> PageFlags { } else { // Remap everything else read-write, no execute PageFlags::new().write(true) - } + }) + .global(cfg!(not(feature = "pti"))) } unsafe fn inner(