gcov: fix null-pointer dereference for certain module types
authorPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
Thu, 9 Sep 2010 23:37:35 +0000 (16:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 10 Sep 2010 01:57:23 +0000 (18:57 -0700)
commit85a0fdfd0f967507f3903e8419bc7e408f5a59de
tree2b430fc9689701f8b6da8bd9fa83feda8b6d972c
parent2f327dad14aa8bc939a4f0a2d3fdcf64a2d8c09e
gcov: fix null-pointer dereference for certain module types

The gcov-kernel infrastructure expects that each object file is loaded
only once.  This may not be true, e.g.  when loading multiple kernel
modules which are linked to the same object file.  As a result, loading
such kernel modules will result in incorrect gcov results while unloading
will cause a null-pointer dereference.

This patch fixes these problems by changing the gcov-kernel infrastructure
so that multiple profiling data sets can be associated with one debugfs
entry.  It applies to 2.6.36-rc1.

Signed-off-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Reported-by: Werner Spies <werner.spies@thalesgroup.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/gcov/fs.c