- shorten-the-x86_64-boot-setup-gdt-to-what-the-comment-says.patch removed from -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     shorten the x86_64 boot setup GDT to what the comment says
has been removed from the -mm tree.  Its filename was
     shorten-the-x86_64-boot-setup-gdt-to-what-the-comment-says.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
Subject: shorten the x86_64 boot setup GDT to what the comment says
From: Steven Rostedt <rostedt@xxxxxxxxxxx>

Stephen Tweedie, Herbert Xu, and myself have been struggling with a very
nasty bug in Xen.  But it also pointed out a small bug in the x86_64 kernel
boot setup.

The GDT limit being setup by the initial bzImage code when entering into
protected mode is way too big.  The comment by the code states that the
size of the GDT is 2048, but the actual size being set up is much bigger
(32768).  This happens simply because of one extra '0'.

Instead of setting up a 0x800 size, 0x8000 is set up.  On bare metal this
is fine because the CPU wont load any segments unless they are explicitly
used.  But unfortunately, this breaks Xen on vmx FV, since it (for now)
blindly loads all the segments into the VMCS if they are less than the gdt
limit.  Since the real mode segments are around 0x3000, we are getting junk
into the VMCS and that later causes an exception.

Stephen Tweedie has written up a patch to fix the Xen side and will be
submitting that to those folks.  But that doesn't excuse the GDT limit
being a magnitude too big.

Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/x86_64/boot/setup.S |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/x86_64/boot/setup.S~shorten-the-x86_64-boot-setup-gdt-to-what-the-comment-says arch/x86_64/boot/setup.S
--- a/arch/x86_64/boot/setup.S~shorten-the-x86_64-boot-setup-gdt-to-what-the-comment-says
+++ a/arch/x86_64/boot/setup.S
@@ -840,7 +840,7 @@ idt_48:
 	.word	0				# idt limit = 0
 	.word	0, 0				# idt base = 0L
 gdt_48:
-	.word	0x8000				# gdt limit=2048,
+	.word	0x800				# gdt limit=2048,
 						#  256 GDT entries
 
 	.word	0, 0				# gdt base (filled in later)
_

Patches currently in -mm which might be from rostedt@xxxxxxxxxxx are


-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux