Messages in this thread Patch in this message | | | Date | Fri, 29 Aug 2008 11:24:44 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH RFC] x86: check for and defend against BIOS memory corruption |
| |
> On Fri, 29 Aug 2008, Rafał Miłecki wrote: > > Out of current discussion I tried using s2ram on patched kernel (I did > not try s2ram earlier, my problem was (un)plugging HDMI - some ACPI > code probably). > > Corruption output is quite huge, I attached it to bug report: > http://bugzilla.kernel.org/show_bug.cgi?id=11237 > http://bugzilla.kernel.org/attachment.cgi?id=17526
Not quite the output we were expecting! I've not got around to trying it yet, so beware, but I think Jeremy's patch needs the following on top. Or you may prefer to wait until one of us reports that it is now working as intended.
--- a/arch/x86/kernel/setup.c 2008-08-29 11:17:16.000000000 +0100 +++ b/arch/x86/kernel/setup.c 2008-08-29 11:19:24.000000000 +0100 @@ -636,11 +636,12 @@ void check_for_bios_corruption(void) unsigned long *addr = __va(scan_areas[i].addr); unsigned long size = scan_areas[i].size; - for(; size; addr++, size--) { + for(; size; addr++, size -= sizeof(unsigned long)) { if (!*addr) continue; printk(KERN_ERR "Corrupted low memory at %p (%lx phys) = %08lx\n", addr, __pa(addr), *addr); + *addr = 0; corruption = 1; } } | |