syscall.sh / x86 / mprotect
mprotect
set protection on a region of memory
sys_mprotect(unsigned long start, size_t len, unsigned long prot)
| number | 125 (0x7d) |
|---|---|
| abi | i386 |
| entry point | sys_mprotect |
| since | Linux 3.3 |
| man page | mprotect(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
eax | 125, the syscall number |
ebx | unsigned long start |
ecx | size_t len |
edx | unsigned long prot |
eax | the return value |
Then run int 0x80 to enter the kernel.
Same syscall on other architectures
- x64 10
- arm64 226
- arm 125
- riscv64 226
- x32 1073741834
- loongarch64 226
- ppc64 125
- ppc 125
- s390x 125
- mips64 5010
- mipsn32 6010
- mipso32 4125
- alpha 74
- arc 226
- csky 226
- hexagon 226
- m68k 125
- microblaze 125
- nios2 226
- openrisc 226
- parisc 125
- sh 125
- sparc 74
- sparc64 74
- xtensa 82
Get this as JSON: https://api.syscall.sh/v2/syscalls/x86/mprotect