Bug 13736 - Intel BIOS - Corrupted low memory at ffff880000004200
Summary: Intel BIOS - Corrupted low memory at ffff880000004200
Status: CLOSED CODE_FIX
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: x86-64 (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: platform_x86_64@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-07 05:16 UTC by Oleksij Rempel (fishor)
Modified: 2012-06-12 10:30 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.31-rc2
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg befor patch (57.03 KB, application/octet-stream)
2009-07-07 05:17 UTC, Oleksij Rempel (fishor)
Details
dmesg after patch (55.46 KB, text/plain)
2009-07-07 05:17 UTC, Oleksij Rempel (fishor)
Details
dmidecode dg45fc (15.93 KB, text/plain)
2009-09-03 22:33 UTC, Tony Bones
Details
dmesg dg45fc with error (61.91 KB, text/plain)
2009-09-03 22:33 UTC, Tony Bones
Details

Description Oleksij Rempel (fishor) 2009-07-07 05:16:50 UTC
I'm getting "Corrupted low memory" trace with my Intel DG45ID board after resume. This board  has different dmi-bios-vendor to ami or phonix... so probably it will be nice to have it in your patch.

Here is trace after resume:
===============================================

[  600.816088] Corrupted low memory at ffff880000004200 (4200 phys) = 00420301
[  600.816093] ------------[ cut here ]------------
[  600.816100] WARNING: at arch/x86/kernel/check.c:134 check_for_bios_corruption+0xe4/0xf0()
[  600.816102] Hardware name:
[  600.816103] Memory corruption detected in low memory
[  600.816105] Modules linked in: nls_iso8859_1 nls_cp437 vfat fat binfmt_misc kvm_intel kvm snd_hda_codec_intelhdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd psmouse soundcore e1000e serio_raw iTCO_wdt iTCO_vendor_support snd_page_alloc
[  600.816129] Pid: 9, comm: events/0 Tainted: G        W 2.6.31-rc1-25446-g1ae8c0a #1
[  600.816131] Call Trace:
[  600.816136]  [<ffffffff8104a8e8>] warn_slowpath_common+0x78/0xb0
[  600.816139]  [<ffffffff8104a97c>] warn_slowpath_fmt+0x3c/0x40
[  600.816142]  [<ffffffff8102aff4>] check_for_bios_corruption+0xe4/0xf0
[  600.816145]  [<ffffffff8102b000>] ? check_corruption+0x0/0x30
[  600.816148]  [<ffffffff8102b009>] check_corruption+0x9/0x30
[  600.816152]  [<ffffffff8105e4d4>] worker_thread+0x144/0x260
[  600.816155]  [<ffffffff810635c0>] ? autoremove_wake_function+0x0/0x40
[  600.816158]  [<ffffffff8105e390>] ? worker_thread+0x0/0x260
[  600.816161]  [<ffffffff810631e6>] kthread+0x96/0xa0
[  600.816165]  [<ffffffff8100c69a>] child_rip+0xa/0x20
[  600.816168]  [<ffffffff81063150>] ? kthread+0x0/0xa0
[  600.816171]  [<ffffffff8100c690>] ? child_rip+0x0/0x20
[  600.816173] ---[ end trace 03ff161c20a96dae ]---

=====================================================================

result of "dmidecode -s bios-vendor" is "Intel Corp."


here is patch against latest git. It's working fine with my board.

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index de2cab1..89d00e2 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -672,6 +672,13 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = {
                        DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies"),
                },
        },
+        {
+                .callback = dmi_low_memory_corruption,
+                .ident = "Intel BIOS",
+                .matches = {
+                        DMI_MATCH(DMI_BIOS_VENDOR, "Intel Corp."),
+                },
+        },
 #endif
        {}
 };
Comment 1 Oleksij Rempel (fishor) 2009-07-07 05:17:25 UTC
Created attachment 22244 [details]
dmesg befor patch
Comment 2 Oleksij Rempel (fishor) 2009-07-07 05:17:42 UTC
Created attachment 22245 [details]
dmesg after patch
Comment 3 Suresh B Siddha 2009-07-17 22:15:55 UTC
Alexey, What is your bios version? Can you please check and confirm if the latest bios for this board (version 107 date 06/24/2009) still causes this corruption?

For latest bios, go to "bios updates" at http://www.intel.com/support/motherboards/desktop/dg45id/
Comment 4 Oleksij Rempel (fishor) 2009-07-18 05:14:40 UTC
I use latest bios
Comment 5 Andrew Morton 2009-07-21 07:49:14 UTC
I'll reassign this to x86_64.

Alexey, it would help if you were to email that patch please.  At least the issue won't get forgotten about.  Documentation/SubmittingPatches has some info.  Suitable recipients are

Andrew Morton <akpm@linux-foundation.org>
"Siddha, Suresh B" <suresh.b.siddha@intel.com>
Ingo Molnar <mingo@elte.hu>
Thomas Gleixner <tglx@linutronix.de>
"H. Peter Anvin" <hpa@zytor.com>
linux-kernel@vger.kernel.org

The DMI string "Intel Corp." seems awfully general.
Comment 6 Oleksij Rempel (fishor) 2009-07-21 08:51:40 UTC
Hallo Andrew,

this patch was applied linux-2.6-tip tree.
http://git.kernel.org/?p=linux/kernel/git/x86/linux-2.6-tip.git;a=commitdiff;h=6aa542a694dc9ea4344a8a590d2628c33d1b9431

I changed DMI_BIOS_VENDOR, "Intel Corp." to DMI_BOARD_NAME, "DG45ID"
Comment 7 David Härdeman 2009-07-31 08:41:14 UTC
As far as I know, the Intel DG45FC motherboard shares much of the hardware and has the exact same BIOS as the DG45ID. I haven't seen the above warnings in dmesg after suspend-to-ram and resume though. How can I know for sure if a similar patch is needed for the DG45FC?
Comment 8 Oleksij Rempel (fishor) 2009-07-31 11:37:44 UTC
Grab latest git and compile kernel with 
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_RESERVE_LOW_64K=n

after resume wait some time.
Comment 9 Tony Bones 2009-09-03 00:32:57 UTC
I can confirm the same thing for the intel board DG45FC.
Comment 10 Oleksij Rempel (fishor) 2009-09-03 03:57:43 UTC
please attach your dmidecode and dmesg with this message.
Comment 11 Tony Bones 2009-09-03 20:16:59 UTC
Here is the dmidecode.  I'll have to recompile my kernel to get you
the dmesg with the error since I've already compiled in the patch with
the change of "DG45ID" to "DG45FC", which fixed it.  But in the mean
time I've attached dmesg with my updated patch.
-Tony

On Wed, Sep 2, 2009 at 8:57 PM, <bugzilla-daemon@bugzilla.kernel.org> wrote:
>
> http://bugzilla.kernel.org/show_bug.cgi?id=13736
>
>
>
>
>
> --- Comment #10 from Alexey Fisher <bug-track@fisher-privat.net>  2009-09-03
> 03:57:43 ---
> please attach your dmidecode and dmesg with this message.
>
> --
> Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.
Comment 12 Tony Bones 2009-09-03 20:28:33 UTC
I attached the files to the email, was that not right?  Sry, I'm new here, just signed up.  Should I attach via the form at the top of the issue instead? I'll make sure to purge the org email response from the email next time too.
Comment 13 Tony Bones 2009-09-03 22:33:22 UTC
Created attachment 22992 [details]
dmidecode dg45fc
Comment 14 Tony Bones 2009-09-03 22:33:52 UTC
Created attachment 22993 [details]
dmesg dg45fc with error
Comment 15 Mikko Rantalainen 2010-03-01 08:34:18 UTC
Any progress with this issue?
Comment 16 David Härdeman 2010-03-01 11:18:59 UTC
The fix for DG45FC is in both 2.6.33 and 2.6.32.X (can't remember which X exactly). Someone with the right permissions will have to mark the bug resolved...

Note You need to log in before you can comment on or make changes to this bug.