Messages in this thread | | | Date | Wed, 19 Sep 2012 17:41:12 -0400 | From | Dave Jones <> | Subject | Re: 3.6rc6 slab corruption. |
| |
On Wed, Sep 19, 2012 at 02:27:37PM -0700, David Rientjes wrote: > On Wed, 19 Sep 2012, Linus Torvalds 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); > > These are non-seekable files, so this will always fail. That makes the > race much more difficult to trigger: the read needs to call > u32_array_read() with both threads finding *ppos == 0 and then race > between the kfree() and resetting of file->private_data pointer. > > [ I'm surprised that Dave was able to trigger this so often that he has > 800MB of log. ]
Brainfart. 800Kb. Still, lots.
Dave
| |