Fuzzing the Linux kernel (x86) entry code, Part 2 of 3

In part 1 of this series we looked at what the Linux kernel entry code does and how to JIT-assemble and call a system call. In this part, we’ll have a closer look at flag registers, the stack pointer, segment registers, debug registers, and different ways to enter the kernel.