lkml.org 
[lkml]   [2006]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subjectsingle bit flip detector.
    In case where we detect a single bit has been flipped, we spew
    the usual slab corruption message, which users instantly think
    is a kernel bug. In a lot of cases, single bit errors are
    down to bad memory, or other hardware failure.

    This patch adds an extra line to the slab debug messages
    in those cases, in the hope that users will try memtest before
    they report a bug.

    000: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
    Single bit error detected. Possibly bad RAM. Run memtest86.

    Signed-off-by: Dave Jones <davej@redhat.com>

    --- linux-2.6.16.noarch/mm/slab.c~ 2006-03-22 18:29:27.000000000 -0500
    +++ linux-2.6.16.noarch/mm/slab.c 2006-03-22 18:30:58.000000000 -0500
    @@ -1516,10 +1516,33 @@ static void poison_obj(struct kmem_cache
    static void dump_line(char *data, int offset, int limit)
    {
    int i;
    + unsigned char total=0, bad_count=0;
    printk(KERN_ERR "%03x:", offset);
    - for (i = 0; i < limit; i++)
    + for (i = 0; i < limit; i++) {
    + if (data[offset+i] != POISON_FREE) {
    + total += data[offset+i];
    + ++bad_count;
    + }
    printk(" %02x", (unsigned char)data[offset + i]);
    + }
    printk("\n");
    + if (bad_count == 1) {
    + switch (total) {
    + case POISON_FREE ^ 0x01:
    + case POISON_FREE ^ 0x02:
    + case POISON_FREE ^ 0x04:
    + case POISON_FREE ^ 0x08:
    + case POISON_FREE ^ 0x10:
    + case POISON_FREE ^ 0x20:
    + case POISON_FREE ^ 0x40:
    + case POISON_FREE ^ 0x80:
    + printk (KERN_ERR "Single bit error detected. Possibly bad RAM.\n");
    +#ifdef CONFIG_X86
    + printk (KERN_ERR "Run memtest86 or other memory test tool.\n");
    +#endif
    + return;
    + }
    + }
    }
    #endif

    --
    http://www.codemonkey.org.uk
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2006-08-01 20:47    [W:2.720 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site