← Back to Labs
System Call Boundary
Trace one syscall step by step: register setup, privilege transition, policy checks, handler lookup, and the kernel work that returns the result.
Step 1 / 5Userspace prepares registers
A process asks the kernel to copy bytes from an existing file descriptor into a userspace buffer. The kernel must validate the descriptor, fetch the data, and copy the result back safely. Userspace has decided to call read(), so it loads rax=0 and places rdi=fd, rsi=buf, rdx=count where the syscall ABI expects them.
syscall number
0
register setup
rdi=fd, rsi=buf, rdx=count
current result
ready
Arrow keys · R to reset · change the seccomp verdict above
Choose a syscall, then walk it across the boundary