syscall.sh / x32 / io_submit

io_submit

submit asynchronous I/O blocks for processing

x32 has 2 syscalls called io_submit, each with its own number.

io_submit #1073742033 (common ABI)

sys_io_submit(aio_context_t ctx_id, long nr, struct iocb * *iocbpp)

This syscall was removed in Linux 3.16.

number1073742033 (0x400000d1)
abicommon
entry pointsys_io_submit
sinceLinux 3.4
removed inLinux 3.16
man pageio_submit(2)
sourceelixir.bootlin.com

Registers

registervalue
rax1073742033, the syscall number
rdiaio_context_t ctx_id
rsilong nr
rdxstruct iocb * *iocbpp
raxthe return value

Then run syscall to enter the kernel.

io_submit #1073742368 (x32 ABI)

compat_sys_io_submit(aio_context_t ctx_id, long nr, struct iocb * *iocbpp)
number1073742368 (0x40000220)
abix32
entry pointcompat_sys_io_submit
sinceLinux 3.16
man pageio_submit(2)
sourceelixir.bootlin.com

Registers

registervalue
rax1073742368, the syscall number
rdiaio_context_t ctx_id
rsilong nr
rdxstruct iocb * *iocbpp
raxthe return value

Then run syscall to enter the kernel.

Same syscall on other architectures

Get this as JSON: https://api.syscall.sh/v2/syscalls/x32/io_submit