From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <508E002B.4090200@teksavvy.com> Date: Mon, 29 Oct 2012 00:03:55 -0400 From: Mark Lord MIME-Version: 1.0 To: Greg Kroah-Hartman , stable@vger.kernel.org, Linus Torvalds , Linux Kernel Subject: Regression from 3.4.9 to 3.4.16 "stable" kernel Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: My server here runs the 3.4.xx series of "stable" kernels. Until today, it was running 3.4.9. Today I tried to upgrade it to 3.4.16. It hangs in setup.c. I've isolated the fault down to this specific change that was made between 3.4.9 and 3.4.16. Reverting this change allows the system to boot/run normally again. --- linux-3.4.9/arch/x86/kernel/setup.c 2012-08-15 11:17:17.000000000 -0400 +++ linux-3.4.16/arch/x86/kernel/setup.c 2012-10-28 13:36:33.000000000 -0400 @@ -927,8 +927,21 @@ #ifdef CONFIG_X86_64 if (max_pfn > max_low_pfn) { - max_pfn_mapped = init_memory_mapping(1UL<<32, - max_pfn<addr + ei->size <= 1UL << 32) + continue; + + if (ei->type == E820_RESERVED) + continue; + + max_pfn_mapped = init_memory_mapping( + ei->addr < 1UL << 32 ? 1UL << 32 : ei->addr, + ei->addr + ei->size); + } + /* can we preseve max_low_pfn ?*/ max_low_pfn = max_pfn; }