Messages in this thread | | | From | Andreas Schwab <> | Subject | Re: single bit flip detector. | Date | Wed, 02 Aug 2006 01:28:49 +0200 |
| |
Dave Jones <davej@redhat.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@suse.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |