Is the linux kernel stack at the same virtual address in each process context?
Before answer, please note that I've specified the KERNEL stack and not the user space one.
If you have only one core then you only need one kernel stack. If you have more than one core than is possible two or more cores execute kernel code so there will be problem if two cores use the same stack. Of course kernel must map all the stacks to all virtual address spaces because the different stack is per cpu not per process and a process may run by two cpus (not the same time) and they will need to find at every process virtual address space his own stack.
I was wondering if the physical addresses are mapped to the same virtual address.- No. As I explained in the first comment, all kernel threads live in the same virtual address space. Within that space, different physical addresses cannot be mapped into the same virtual address. It is simply impossible to create such address space. - Tsyvarev