x86/doublefault/32: Fix stack canaries in the double fault handler
authorAndy Lutomirski <luto@kernel.org>
Thu, 21 Nov 2019 10:50:12 +0000 (11:50 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 21 Nov 2019 18:37:42 +0000 (19:37 +0100)
The double fault TSS was missing GS setup, which is needed for stack
canaries to work.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@kernel.org
arch/x86/kernel/doublefault.c

index 0b8cedb..d5c9b13 100644 (file)
@@ -65,6 +65,9 @@ struct x86_hw_tss doublefault_tss __cacheline_aligned = {
        .ss             = __KERNEL_DS,
        .ds             = __USER_DS,
        .fs             = __KERNEL_PERCPU,
+#ifndef CONFIG_X86_32_LAZY_GS
+       .gs             = __KERNEL_STACK_CANARY,
+#endif
 
        .__cr3          = __pa_nodebug(swapper_pg_dir),
 };