Why can't seccomp() check io_uring-generated syscalls?
Why can't seccomp() check io_uring-generated syscalls?
Posted Feb 7, 2026 22:29 UTC (Sat) by reillyeon (subscriber, #51146)Parent article: Task-level io_uring restrictions
This feels like a dumb question but despite the number of articles mentioning that io_uring "bypasses" seccomp() I feel like no one has explained why these two subsystems can't work together. Perhaps my mental model of how io_uring operates is incorrect, but as I understand it each io_uring operation is equivalent to a system call. Why can't these be checked, perhaps even with the exact same code as the equivalent system call, when the operation is executed? If we can solve the complexities of checking the properties of a system call why can't we do the same for an io_uring operation? Is a completely parallel restriction mechanism really required?
The LWN site is currently under high scraper load, so comment display has been suppressed for anonymous users. If you are a human, you may read the comments by clicking the button below:
Note: you can avoid this step in the future by logging into your LWN account.
