summaryrefslogtreecommitdiffstats
path: root/arch/x86/boot
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-01-30 13:33:04 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:33:04 +0100
commit387faedb1dee2e917811acd05902cc36142a4850 (patch)
tree5bd3dd8b2a734531b378de7df12e0bcf16e414d0 /arch/x86/boot
parentx86 setup: guard the heap against invalid stack setups (diff)
downloadlinux-387faedb1dee2e917811acd05902cc36142a4850.tar.xz
linux-387faedb1dee2e917811acd05902cc36142a4850.zip
x86 setup: correct the base in the GDT_ENTRY() macro
The GDT_ENTRY() macro in pm.c would incorrectly cut the bottom 8 bits off the base. We didn't define any bases with the bottom 8 bits nonzero, so it is a non-manifest bug, but it's still a bug. Pointed out by John Smith <johnsmith9344@gmail.com>. Cc: John Smith <johnsmith9344@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/boot')
-rw-r--r--arch/x86/boot/pm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/boot/pm.c b/arch/x86/boot/pm.c
index b23cbdc7d547..1a0f936c160b 100644
--- a/arch/x86/boot/pm.c
+++ b/arch/x86/boot/pm.c
@@ -104,7 +104,7 @@ static void reset_coprocessor(void)
(((u64)(base & 0xff000000) << 32) | \
((u64)flags << 40) | \
((u64)(limit & 0x00ff0000) << 32) | \
- ((u64)(base & 0x00ffff00) << 16) | \
+ ((u64)(base & 0x00ffffff) << 16) | \
((u64)(limit & 0x0000ffff)))
struct gdt_ptr {