projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
aa4ea67
)
x86/efi/32: Fix EFI on systems where the per-cpu GDT is virtually mapped
author
Andy Lutomirski
<
[email protected]
>
Wed, 22 Mar 2017 21:32:31 +0000
(14:32 -0700)
committer
Ingo Molnar
<
[email protected]
>
Thu, 23 Mar 2017 07:25:07 +0000
(08:25 +0100)
__pa() on a per-cpu pointer is invalid. This bug appears to go *waaay*
back, and I guess it's just never been triggered.
Signed-off-by: Andy Lutomirski <
[email protected]
>
Cc: Ard Biesheuvel <
[email protected]
>
Cc: Boris Ostrovsky <
[email protected]
>
Cc: Borislav Petkov <
[email protected]
>
Cc: Brian Gerst <
[email protected]
>
Cc: Denys Vlasenko <
[email protected]
>
Cc: H. Peter Anvin <
[email protected]
>
Cc: Josh Poimboeuf <
[email protected]
>
Cc: Juergen Gross <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Matt Fleming <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Thomas Garnier <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/5ba1d3ffca85e1a5b3ac99265ebe55df4cf0dbe4.1490218061.git.luto@kernel.org
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/platform/efi/efi_32.c
patch
|
blob
|
history
diff --git
a/arch/x86/platform/efi/efi_32.c
b/arch/x86/platform/efi/efi_32.c
index 9500711714362b6640e3b6fee3a08b0b43e32356..3481268da3d072e7daf0a97c43d189fb2b554d90 100644
(file)
--- a/
arch/x86/platform/efi/efi_32.c
+++ b/
arch/x86/platform/efi/efi_32.c
@@
-68,7
+68,7
@@
pgd_t * __init efi_call_phys_prolog(void)
load_cr3(initial_page_table);
__flush_tlb_all();
- gdt_descr.address =
__pa(get_cpu_gdt_rw(0)
);
+ gdt_descr.address =
get_cpu_gdt_paddr(0
);
gdt_descr.size = GDT_SIZE - 1;
load_gdt(&gdt_descr);