Re: Please add to stable: module: don't unlink the module untilwe've removed all exposure.

From: Ben Greear
Date: Tue Jun 04 2013 - 12:53:38 EST


On 06/04/2013 07:07 AM, Joe Lawrence wrote:
On Tue, 04 Jun 2013 15:26:28 +0930
Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:

Do you have a backtrace of the 3.9.4 crash? You can add "CFLAGS_module.o
= -O0" to get a clearer backtrace if you want...

Hi Rusty,

See my 3.9 stack traces below, which may or may not be what Ben had
been seeing. If you like, I can try a similar loop as the one you were
testing in the other email.

My stack traces are similar. I had better luck reproducing the problem
once I enabled lots of debugging (slub memory poisoning, lockdep,
object debugging, etc).

I'm using Fedora 17 on 2-core core-i7 (4 CPU threads total) for most of this
testing. We reproduced on dual-core Atom system as well
(32-bit Fedora 14 and Fedora 17). Relatively standard hardware as far
as I know.

I'll run the insmod/rmmod stress test on my patched systems
and see if I can reproduce with the patch in the title applied.

Rusty: I'm also seeing lockups related to migration on stock 3.9.4+
(with and without the 'don't unlink the module...' patch. Much harder
to reproduce. But, that code appears to be mostly called during
module load/unload, so it's possible it is related. The first
traces are from a system with local patches, applied, but a later
post by me has traces from clean upstream kernel.

Further debugging showed that this could be a race, because it seems
that all migration/ threads think they are done with their state machine,
but the atomic thread counter sits at 1, so no progress is ever made.

http://www.mail-archive.com/linux-kernel@xxxxxxxxxxxxxxx/msg443471.html

Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com

--
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/