add_key on metag

add a key to the kernel's key management facility

sys_add_key(const char *_type, const char *_description, const void *_payload, size_t plen, key_serial_t destringid)
number217 (0xd9)
abicommon
kconfigCONFIG_KEYS
familykeys see the whole family on metag
entry pointsys_add_key
sinceLinux 3.9 or earlier (3.9 is the first release scanned for metag)
man pageadd_key(2)
sourceelixir.bootlin.com

Registers

registervalue
D1Re0217, the syscall number
D1Ar1const char *_type
D0Ar2const char *_description
D1Ar3const void *_payload
D0Ar4size_t plen
D1Ar5key_serial_t destringid
D0Re0the 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

Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/add_key?kernel=all