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:
parent
ef5a7b5eb1
commit
b75e2b076d
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user