Use mprotect instead of mmap

This commit is contained in:
Tatsuyuki Ishi 2018-03-28 18:47:16 +09:00
parent d39b02c2c9
commit 8ecbec1dba

View file

@ -355,10 +355,9 @@ pub mod guard {
// macOS. Instead, just restore the page to a writable state.
// This ain't Linux, so we probably don't need to care about
// execstack.
let result = mmap(stackaddr, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANON | MAP_FIXED, -1, 0);
let result = mprotect(stackaddr, PAGE_SIZE, PROT_READ | PROT_WRITE);
if result != stackaddr || result == MAP_FAILED {
if result != 0 {
panic!("unable to reset the guard page");
}
}