x86_64: Use __BOOT_DS instead_of __KERNEL_DS for safety
authorLans Zhang <lans.zhang2008@gmail.com>
Fri, 1 Mar 2013 01:20:39 +0000 (09:20 +0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Fri, 1 Mar 2013 18:18:33 +0000 (10:18 -0800)
In startup_32, the running code still uses the initial GDT
located in setup. Thus, __BOOT_DS is preferred. Currently
__KERNEL_DS is lucky to equal to __BOOT_DS, but this is
not always a safe way.

Signed-off-by: Lans Zhang <lans.zhang2008@gmail.com>
Link: http://lkml.kernel.org/r/51300267.6000008@gmail.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/boot/compressed/head_64.S

index c1d383d..16f24e6 100644 (file)
@@ -52,7 +52,7 @@ ENTRY(startup_32)
        jnz 1f
 
        cli
-       movl    $(__KERNEL_DS), %eax
+       movl    $(__BOOT_DS), %eax
        movl    %eax, %ds
        movl    %eax, %es
        movl    %eax, %ss