x86/boot: Fix incorrect startup_gdt_descr.size

[ Upstream commit 001470fed5959d01faecbd57fcf2f60294da0de1 ]

Since the size value is added to the base address to yield the last valid
byte address of the GDT, the current size value of startup_gdt_descr is
incorrect (too large by one), fix it.

[ mingo: This probably never mattered, because startup_gdt[] is only used
         in a very controlled fashion - but make it consistent nevertheless. ]

Fixes: 866b556efa ("x86/head/64: Install startup GDT")
Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Link: https://lore.kernel.org/r/20230807084547.217390-1-ytcoode@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Yuntao Wang
2023-08-07 16:45:47 +08:00
committed by Greg Kroah-Hartman
parent ffa4cc86e9
commit 66f9969141

View File

@@ -80,7 +80,7 @@ static struct desc_struct startup_gdt[GDT_ENTRIES] = {
* while the kernel still uses a direct mapping. * while the kernel still uses a direct mapping.
*/ */
static struct desc_ptr startup_gdt_descr = { static struct desc_ptr startup_gdt_descr = {
.size = sizeof(startup_gdt), .size = sizeof(startup_gdt)-1,
.address = 0, .address = 0,
}; };