[PATCH] Tell kallsyms_lookup_name() to ignore type U entries
When one module exports a function symbol and another module uses that
symbol then kallsyms shows the symbol twice. Once from the consumer with a
type of 'U' and once from the provider with a type of 't' or 'T'. On most
architectures, both entries have the same address so it does not matter
which one is returned by kallsyms_lookup_name(). But on architectures with
function descriptors, the 'U' entry points to the descriptor, not to the
code body, which is not what we want.
IA64 # grep -w qla2x00_remove_one /proc/kallsyms
a000000208c25ef8 U qla2x00_remove_one [qla2300] <= descriptor
a000000208bf44c0 t qla2x00_remove_one [qla2xxx] <= function body
Tell kallsyms_lookup_name() to ignore type U entries in modules.
Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1 file changed