diff options
Diffstat (limited to 'arch/x86/mm/init_64.c')
| -rw-r--r-- | arch/x86/mm/init_64.c | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index e6d36b49025..b1352250096 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -714,6 +714,8 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,  	pos = start_pfn << PAGE_SHIFT;  	end_pfn = ((pos + (PMD_SIZE - 1)) >> PMD_SHIFT)  			<< (PMD_SHIFT - PAGE_SHIFT); +	if (end_pfn > (end >> PAGE_SHIFT)) +		end_pfn = end >> PAGE_SHIFT;  	if (start_pfn < end_pfn) {  		nr_range = save_mr(mr, nr_range, start_pfn, end_pfn, 0);  		pos = end_pfn << PAGE_SHIFT;  |