From 54c06ce754b04d4b2e1d88982a34fee5f7a0e5d8 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 31 Dec 2018 20:32:04 -0700 Subject: [PATCH] Add mprotect --- src/call.rs | 5 +++++ src/number.rs | 1 + 2 files changed, 6 insertions(+) diff --git a/src/call.rs b/src/call.rs index cf89465..aff381a 100644 --- a/src/call.rs +++ b/src/call.rs @@ -230,6 +230,11 @@ pub fn mkns(schemes: &[[usize; 2]]) -> Result { unsafe { syscall2(SYS_MKNS, schemes.as_ptr() as usize, schemes.len()) } } +/// Change mapping flags +pub unsafe fn mprotect(addr: usize, size: usize, flags: usize) -> Result { + syscall3(SYS_MPROTECT, addr, size, flags) +} + /// Sleep for the time specified in `req` pub fn nanosleep(req: &TimeSpec, rem: &mut TimeSpec) -> Result { unsafe { syscall2(SYS_NANOSLEEP, req as *const TimeSpec as usize, diff --git a/src/number.rs b/src/number.rs index 4d55d0a..ec9acfa 100644 --- a/src/number.rs +++ b/src/number.rs @@ -55,6 +55,7 @@ pub const SYS_GETPPID: usize = 64; pub const SYS_GETUID: usize = 199; pub const SYS_IOPL: usize = 110; pub const SYS_KILL: usize = 37; +pub const SYS_MPROTECT: usize = 125; pub const SYS_MKNS: usize = 984; pub const SYS_NANOSLEEP: usize =162; pub const SYS_PHYSALLOC: usize =945;