x86/boot: GDT limit value should be size - 1

The limit value for the GDTR should be such that adding it to the base
address gives the address of the last byte of the GDT, i.e. it should be
one less than the size, not the size.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Link: https://lore.kernel.org/r/20200202171353.3736319-7-nivedita@alum.mit.edu
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
Arvind Sankar 2020-02-02 12:13:52 -05:00 committed by Ard Biesheuvel
parent ef5a7b5eb1
commit b75e2b076d

View File

@ -624,12 +624,12 @@ SYM_FUNC_END(.Lno_longmode)
.data
SYM_DATA_START_LOCAL(gdt64)
.word gdt_end - gdt
.word gdt_end - gdt - 1
.quad 0
SYM_DATA_END(gdt64)
.balign 8
SYM_DATA_START_LOCAL(gdt)
.word gdt_end - gdt
.word gdt_end - gdt - 1
.long gdt
.word 0
.quad 0x00cf9a000000ffff /* __KERNEL32_CS */