syscall.sh / x64 / mmap
mmap
map or unmap files or devices into memory
sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, unsigned long fd, unsigned long off)
| number | 9 (0x9) |
|---|---|
| abi | common |
| entry point | sys_mmap |
| since | Linux 3.3 |
| man page | mmap(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 9, the syscall number |
rdi | unsigned long addr |
rsi | unsigned long len |
rdx | unsigned long prot |
r10 | unsigned long flags |
r8 | unsigned long fd |
r9 | unsigned long off |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x86 90
- arm64 222
- riscv64 222
- x32 1073741833
- loongarch64 222
- ppc64 90
- ppc 90
- s390x 90
- mips64 5009
- mipsn32 6009
- mipso32 4090
- alpha 71
- m68k 90
- microblaze 90
- parisc 90
- sh 90
- sparc 71
- sparc64 71
Get this as JSON: https://api.syscall.sh/v2/syscalls/x64/mmap