aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/head_32.S
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2009-03-17 11:38:23 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2009-03-17 11:52:10 -0700
commit60ac98213914cc615c67e84bfb964aa95a080d13 (patch)
tree727510ef5a2084ffaaeae65c8a60dbc306b7cf2d /arch/x86/kernel/head_32.S
parentb8a22a6273d5aed248db2695ce9bf65eb3e9fbe6 (diff)
downloadkernel_goldelico_gta04-60ac98213914cc615c67e84bfb964aa95a080d13.zip
kernel_goldelico_gta04-60ac98213914cc615c67e84bfb964aa95a080d13.tar.gz
kernel_goldelico_gta04-60ac98213914cc615c67e84bfb964aa95a080d13.tar.bz2
x86-32: tighten the bound on additional memory to map
Impact: Tighten bound to avoid masking errors The definition of MAPPING_BEYOND_END was excessive; this has a nasty tendency to mask bugs. We have learned over time that this kind of bug hiding can cause some very strange errors. Therefore, tighten the bound to only need to map the actual kernel area. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Yinghai Lu <yinghai@kernel.org>
Diffstat (limited to 'arch/x86/kernel/head_32.S')
-rw-r--r--arch/x86/kernel/head_32.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index fc884b9..3068388 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -60,7 +60,8 @@
#endif
/* Enough space to fit pagetables for the low memory linear map */
-MAPPING_BEYOND_END = (PAGE_TABLE_SIZE(1 << (32 - PAGE_SHIFT)) * PAGE_SIZE)
+MAPPING_BEYOND_END = \
+ PAGE_TABLE_SIZE(((1<<32) - __PAGE_OFFSET) >> PAGE_SHIFT) << PAGE_SHIFT
/*
* Worst-case size of the kernel mapping we need to make: