[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <jebqr4f32m.fsf@sykes.suse.de>
Date: Wed, 02 Aug 2006 01:28:49 +0200
From: Andreas Schwab <schwab@...e.de>
To: Dave Jones <davej@...hat.com>
Cc: Alexey Dobriyan <adobriyan@...il.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: single bit flip detector.
Dave Jones <davej@...hat.com> writes:
> diff --git a/mm/slab.c b/mm/slab.c
> index 21ba060..39f1183 100644
> --- a/mm/slab.c
> +++ b/mm/slab.c
> @@ -1638,10 +1638,29 @@ 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, errors = 0;
No need to initialize errors here.
> 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) {
> + errors = total ^ POISON_FREE;
> + if (errors && !(errors & (errors-1))) {
> + printk (KERN_ERR "Single bit error detected. Probably bad RAM.\n");
> +#ifdef CONFIG_X86
> + printk (KERN_ERR "Run memtest86+ or similar memory test tool.\n");
> +#else
> + printk (KERN_ERR "Run a memory test tool.\n");
> +#endif
> + return;
Useless return.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@...e.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
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