The Linux kernel stack is a tempting target for attack. This is because the
kernel needs to keep track of where it is. If a function gets called, which
then calls another, which then calls another, the kernel needs to remember
the order they were all called, so that each function can return to the
function that called it. To do that, the kernel keeps a "stack" of values
representing the history of its current context.