Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1264011
| From | Krzysztof Mazur <krzysiek@podlesie.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] x86/setup: fix low identity map for >= 2GB kernel range |
| Date | 2015-11-06 14:30 +0100 |
| Message-ID | <qrPfC-52O-35@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
The commit f5f3497cad8c8416a74b9aaceb127908755d020a (x86/setup: Extend low identity map to cover whole kernel range) extended the low identity mapping. However, if the kernel uses more than 2 GB (VMSPLIT_2G_OPT or VMSPLIT_1G memory split), the normal memory mapping is overwritten by the low identity mapping causing crash. To avoid overwritting, limit the low identity map to cover only memory before kernel range (PAGE_OFFSET). Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net> --- The bug can be also fixed by copying identity mapping before copying kernel address range, but this fix is smaller. It might be also helpful to add a warning, if the low identity mapping is truncated due to kernel mapping (KERNEL_PGD_BOUNDARY < KERNEL_PGD_PTRS). arch/x86/kernel/setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index a3cccbf..37c8ea8 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -1180,7 +1180,7 @@ void __init setup_arch(char **cmdline_p) */ clone_pgd_range(initial_page_table, swapper_pg_dir + KERNEL_PGD_BOUNDARY, - KERNEL_PGD_PTRS); + min(KERNEL_PGD_PTRS, KERNEL_PGD_BOUNDARY)); #endif tboot_probe(); -- 2.6.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] x86/setup: fix low identity map for >= 2GB kernel range Krzysztof Mazur <krzysiek@podlesie.net> - 2015-11-06 14:30 +0100
Re: [PATCH] x86/setup: fix low identity map for >= 2GB kernel range Borislav Petkov <bp@alien8.de> - 2015-11-06 14:30 +0100
Re: [PATCH] x86/setup: fix low identity map for >= 2GB kernel range Krzysztof Mazur <krzysiek@podlesie.net> - 2015-11-06 15:20 +0100
Re: [PATCH] x86/setup: fix low identity map for >= 2GB kernel range Paolo Bonzini <pbonzini@redhat.com> - 2015-11-06 16:10 +0100
Re: [PATCH] x86/setup: fix low identity map for >= 2GB kernel range Matt Fleming <matt@codeblueprint.co.uk> - 2015-11-07 10:50 +0100
[tip:x86/urgent] x86/setup: Fix low identity map for >= 2GB kernel range tip-bot for Krzysztof Mazur <tipbot@zytor.com> - 2015-11-07 10:50 +0100
csiph-web