| From 2018db4824d0f886505b81bfaa956de3bb74ad9a Mon Sep 17 00:00:00 2001 |
| From: Hugh Dickins <hughd@google.com> |
| Date: Tue, 24 Aug 2010 22:44:12 -0700 |
| Subject: [PATCH] x86, mm: Fix CONFIG_VMSPLIT_1G and 2G_OPT trampoline |
| |
| commit b7d460897739e02f186425b7276e3fdb1595cea7 upstream. |
| |
| rc2 kernel crashes when booting second cpu on this CONFIG_VMSPLIT_2G_OPT |
| laptop: whereas cloning from kernel to low mappings pgd range does need |
| to limit by both KERNEL_PGD_PTRS and KERNEL_PGD_BOUNDARY, cloning kernel |
| pgd range itself must not be limited by the smaller KERNEL_PGD_BOUNDARY. |
| |
| Signed-off-by: Hugh Dickins <hughd@google.com> |
| LKML-Reference: <alpine.LSU.2.00.1008242235120.2515@sister.anvils> |
| Signed-off-by: H. Peter Anvin <hpa@zytor.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/x86/kernel/trampoline.c b/arch/x86/kernel/trampoline.c |
| index a874495..e2a5952 100644 |
| --- a/arch/x86/kernel/trampoline.c |
| +++ b/arch/x86/kernel/trampoline.c |
| @@ -45,8 +45,7 @@ void __init setup_trampoline_page_table(void) |
| /* Copy kernel address range */ |
| clone_pgd_range(trampoline_pg_dir + KERNEL_PGD_BOUNDARY, |
| swapper_pg_dir + KERNEL_PGD_BOUNDARY, |
| - min_t(unsigned long, KERNEL_PGD_PTRS, |
| - KERNEL_PGD_BOUNDARY)); |
| + KERNEL_PGD_PTRS); |
| |
| /* Initialize low mappings */ |
| clone_pgd_range(trampoline_pg_dir, |
| -- |
| 1.7.4.4 |
| |