Even though Linux abandoned hardware task-switching decades ago, it still keeps exactly one TSS per CPU purely to supply ESP0/SS0 — the kernel stack the CPU auto-loads on any ring-3-to-ring-0 interrupt — which is precisely the field you initialize here. Leaving ESP0 as a stale or zero pointer is a real bug that crashes the very first interrupt taken while running user-mode code, since the CPU has nowhere valid to push the interrupt frame.