lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 29 Oct 2012 00:03:55 -0400 From: Mark Lord <kernel@...savvy.com> To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, stable@...r.kernel.org, Linus Torvalds <torvalds@...ux-foundation.org>, Linux Kernel <linux-kernel@...r.kernel.org> Subject: Regression from 3.4.9 to 3.4.16 "stable" kernel 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<<PAGE_SHIFT); + int i; + for (i = 0; i < e820.nr_map; i++) { + struct e820entry *ei = &e820.map[i]; + + if (ei->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; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists