keyctl on metag
manipulate the kernel's key management facility
sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5)
| number | 219 (0xdb) |
|---|---|
| abi | common |
| kconfig | CONFIG_KEYS |
| family | keys see the whole family on metag |
| entry point | sys_keyctl |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | keyctl(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 219, the syscall number |
D1Ar1 | int cmd |
D0Ar2 | unsigned long arg2 |
D1Ar3 | unsigned long arg3 |
D0Ar4 | unsigned long arg4 |
D1Ar5 | unsigned long arg5 |
D0Re0 | the return value |
Then run SWITCH #0x440001 to enter the kernel.
Values wider than one register are packed into consecutive arguments.
This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 250
- x86 288
- arm64 219
- arm 311
- riscv64 219
- ia32 288
- x32 1073742074
- loongarch64 219
- ppc64 271
- ppc 271
- s390x 280
- mips64 5241
- mipsn32 6245
- mipso32 4282
- alpha 441
- arc 219
- blackfin 288, removed in 4.17
- cris 288, removed in 4.17
- csky 219
- frv 288, removed in 4.17
- hexagon 219
- ia64 1273, removed in 6.7
- m32r 288, removed in 4.17
- m68k 281
- microblaze 288
- mn10300 288, removed in 4.17
- nds32 219, removed in 5.18
- nios2 219
- openrisc 219
- parisc 266
- score 219, removed in 4.17
- sh 287
- sparc 283
- sparc64 283
- tilegx 219, removed in 4.17
- tilepro 219, removed in 4.17
- xtensa 258
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/keyctl?kernel=all