• Keith Owens's avatar
    [PATCH] Tell kallsyms_lookup_name() to ignore type U entries · 54e8ce46
    Keith Owens authored
    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: default avatarKeith Owens <kaos@sgi.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    54e8ce46
module.c 57.4 KB