В Linux каждая задача (пользовательское пространство или поток ядра) имеет стек ядра 8 или 4 КБ, в зависимости от конфигурации ядра. Действительно, существуют отдельные указатели стека, однако в каждый момент времени в CPU присутствует только один; если выполняется код пользовательского пространства, указатель стека ядра, который будет использоваться для исключений или прерываний, задается сегментом состояния задачи, а если код ядра выполняется, указатель стека пользователя сохраняется в структуре контекста, расположенной в стеке ядра.