The Beginner's Guide to Linux Syscalls
summary
Shows how a Go println funnels down to the Linux write syscall by following code to the libc/syscall layer and reading the AX register which holds the syscall ID and return value, uses strace and PTRACE and inspects registers to trace execution, implements strace from scratch in Go and reproduces about a dozen syscalls for a hello program, handles syscall entry vs exit, and demonstrates seccomp rejecting calls (blocking open/write) with working example code on GitHub.
AI-written summary · about
chapters (7)
- 0:00Introduction to syscalls
- 1:25Using strace
- 4:37Syscall mechanics
- 6:55Kernel-level execution
- 11:25Building a custom tracer
- 28:02Security with seccomp
- 34:37Conclusion and Q&A
related talks
25mSyscalls for Rustaceans
01h 26mLinux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS
01h 03mA Gopher's Guide to *NIX Plumbing
26mExploring Container Mechanisms Through the Story of a Syscall
41mLinux Tracing Techniques
01h 03mUsing seccomp to limit the Linux kernel attack service
23mUsing unsafe.Pointer to explore Linux system calls
36mA Beginner's Guide to eBPF Programming with Go
