Skip to content



io_setup - sets up a new asynchronous I/O context


The io_setup() system call prepares the data structures and initialization for subsequent use of asynchronous I/O operations. It creates a new asyncronous I/O context with the value nr_events being the maximum number of expected events to be queued for this context. ctx_idp is an output parameter that has null at the start and is assigned to the identifier of the AIO context created.


  • nr_events: unsigned int - Maximum number of expected event requests to be queued for this context.
  • ctx_idp: io_context_t *[U] - Address to store the identifier of the created AIO context.

Available Tags

  • K - Originated from kernel-space.
  • U - Originated from user space (for example, pointer to user space memory used to get it)
  • TOCTOU - Vulnerable to TOCTOU (time of check, time of use)
  • OPT - Optional argument - might not always be available (passed with null value)






Used to identify when a new asynchronous I/O context is being set up

Example Use Case

The io_setup system call can be used in order to monitor the start of new asynchronous I/O operations.



io_submit, io_cancel, io_destroy

This document was automatically generated by OpenAI and needs review. It might not be accurate and might contain errors. The authors of Tracee recommend that the user reads the "events.go" source file to understand the events and their arguments better.