Thanks for the reply but the link doesn't quite answer the question. I am wondering how the pointer is handled so that there is one per thread by the compiler. I perhaps was under the perhaps mistaken impression that the stack pointer frame pointer management inside the compiler makes certain assumptions in user space- but i am unsure how this applies to kernel space. On Mon, Nov 12, 2018 at 1:55 AM Augusto Mecking Caringi < augustocaringi@gmail.com> wrote: > On Sun, Nov 11, 2018 at 6:04 PM Carter Cheng > wrote: > > I am wondering how the compiler divines which stack to use for function > calls and placement of locals and arguments when a function call is made > inside the kernel since the kernel has multiple call stacks. Are function > calls handled manually inside kernel code or is there something special > inside the compiler for handling this? > > I think this link can answer your question... > > > https://stackoverflow.com/questions/12911841/kernel-stack-and-user-space-stack > > -- > Augusto Mecking Caringi >