lockdep: fix kernel crash on module unload
authorArjan van de Ven <arjan@linux.intel.com>
Thu, 24 Jan 2008 06:00:45 +0000 (07:00 +0100)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 24 Jan 2008 16:01:09 +0000 (08:01 -0800)
commitfabe874a48de45b137f99b4ed3641e0413f465ce
tree815204d845875bd14f5623766b2ec5bc6f1fe00c
parent4784b11c4f49eb88f2dd74df6afc5170f193cedc
lockdep: fix kernel crash on module unload

Michael Wu noticed in his lkml post at

    http://marc.info/?l=linux-kernel&m=119396182726091&w=2

that certain wireless drivers ended up having their name in module
memory, which would then crash the kernel on module unload.

The patch he proposed was a bit clumsy in that it increased the size of
a lockdep entry significantly; the patch below tries another approach,
it checks, on module teardown, if the name of a class is in module space
and then zaps the class.  This is very similar to what we already do
with keys that are in module space.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/lockdep.c