diff options
author | 2008-02-14 14:21:32 +0100 | |
---|---|---|
committer | 2008-02-14 23:30:20 +0100 | |
commit | 3223f59f9cd9d69a4344eeac8b16a262c5f373f1 (patch) | |
tree | c3e254bc48f50fb389555e3d80f014419d27af8c /arch/x86/kernel/efi.c | |
parent | x86: make dump_pagetable() static (diff) | |
download | linux-3223f59f9cd9d69a4344eeac8b16a262c5f373f1.tar.gz linux-3223f59f9cd9d69a4344eeac8b16a262c5f373f1.tar.bz2 linux-3223f59f9cd9d69a4344eeac8b16a262c5f373f1.zip |
x86: EFI set_memory_x()/set_memory_uc() fixes
The EFI-runtime mapping code changed a larger memory area than it
should have, due to a pages/bytes parameter mixup.
noticed by Andi Kleen.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/efi.c')
-rw-r--r-- | arch/x86/kernel/efi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/efi.c b/arch/x86/kernel/efi.c index cbdf9bacc575..0c0eeb163d90 100644 --- a/arch/x86/kernel/efi.c +++ b/arch/x86/kernel/efi.c @@ -391,7 +391,7 @@ static void __init runtime_code_page_mkexec(void) if (md->type != EFI_RUNTIME_SERVICES_CODE) continue; - set_memory_x(md->virt_addr, md->num_pages << EFI_PAGE_SHIFT); + set_memory_x(md->virt_addr, md->num_pages); } } @@ -434,7 +434,7 @@ void __init efi_enter_virtual_mode(void) } if (!(md->attribute & EFI_MEMORY_WB)) - set_memory_uc(md->virt_addr, size); + set_memory_uc(md->virt_addr, md->num_pages); systab = (u64) (unsigned long) efi_phys.systab; if (md->phys_addr <= systab && systab < end) { |