Re: 3.6rc6 slab corruption.

From: Linus Torvalds
Date: Wed Sep 19 2012 - 13:10:05 EST


On Wed, Sep 19, 2012 at 7:00 AM, Raghavendra K T
<raghavendra.kt@xxxxxxxxxxxxxxxxxx> wrote:
>
> Create a 350 processes reading /sys/kernel/debug/kvm/spinlocks/histo_blocked
> file simultaneously in while loop for more than 3 hours on my box.

You need to open the file a single time, and then after that sinelg
open (either threaded or with fork()) do multiple concurrent copies
something like

for (;;) {
char buf[1024];
lseek(fd, 0, SEEK_SET);
read(fd, buf, sizeof(buf));
}

or similar. But it's important that they all share the same struct file.

It's also likely to make it easier to trigger the race if you have a
kernel with preemption enabled.

And you need to have SLAB debugging enabled to actually *see* the
messages. Otherwise you'll have just (possibly silent) corruption or a
memory leak.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/