[lkml]   [2012]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH resend] x86: memtest: WARN if bad RAM found
From: Ben Hutchings <>
Date: Mon, 5 Dec 2011 04:00:58 +0000

Since this is not a particularly thorough test, if we find any bad
bits of RAM then there is a fair chance that there are other bad bits
we fail to detect.

Warn so the TAINT_WARNING flag shows up in panic traces and other bug
reports from users that enabled memtest and found bad RAM during
bootup, to help people debugging to see that problems are potentially
due to unreliable RAM. The warning text gives advice that can be used
to make the warning go away using a more thorough test:

Bad RAM detected. Use memtest86+ to perform a thorough test
and the memmap= parameter to reserve the bad areas.

In this way, this patch should make the lives of people helping to
analyze bug reports from builds with CONFIG_MEMTEST enabled easier.

[jn: more explanation of impact]
Signed-off-by: Ben Hutchings <>
Signed-off-by: Jonathan Nieder <>
Hi again,

The patch below last visited this list on 2 April, about a week and a
half ago. No reply.

The patch has been in Debian since last December. I like it. The
patch is targetted at v3.5, so I would like to see it in linux-next so
it can get more exposure. Comments?


arch/x86/mm/memtest.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/mm/memtest.c b/arch/x86/mm/memtest.c
index c80b9fb95734..38caeb44a218 100644
--- a/arch/x86/mm/memtest.c
+++ b/arch/x86/mm/memtest.c
@@ -30,6 +30,8 @@ static u64 patterns[] __initdata = {

static void __init reserve_bad_mem(u64 pattern, u64 start_bad, u64 end_bad)
+ WARN_ONCE(1, "Bad RAM detected. Use memtest86+ to perform a thorough test\n"
+ "and the memmap= parameter to reserve the bad areas.");
printk(KERN_INFO " %016llx bad mem addr %010llx - %010llx reserved\n",
(unsigned long long) pattern,
(unsigned long long) start_bad,

 \ /
  Last update: 2012-04-13 21:41    [W:0.050 / U:8.936 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site