• Paul Mundt's avatar
    kallsyms: fix segfault in prefix_underscores_count() · a9ece53c
    Paul Mundt authored
    Commit b478b782 "kallsyms, tracing: output
    more proper symbol name" introduces a "bugfix" that introduces a segfault
    in kallsyms in my configurations.
    
    The cause is the introduction of prefix_underscores_count() which attempts
    to count underscores, even in symbols that do not have them.  As a result,
    it just uselessly runs past the end of the buffer until it crashes:
    
      CC      init/version.o
      LD      init/built-in.o
      LD      .tmp_vmlinux1
      KSYM    .tmp_kallsyms1.S
    /bin/sh: line 1: 16934 Done                    sh-linux-gnu-nm -n .tmp_vmlinux1
         16935 Segmentation fault      | scripts/kallsyms > .tmp_kallsyms1.S
    make: *** [.tmp_kallsyms1.S] Error 139
    
    This simplifies the logic and just does a straightforward count.
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    Reviewed-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
    Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Paulo Marques <pmarques@grupopie.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: <stable@kernel.org>		[2.6.30.x, 2.6.31.x]
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a9ece53c
kallsyms.c 15.1 KB