• Heiko Carstens's avatar
    checkstack: fix printed address · ee34db3f
    Heiko Carstens authored
    All addresses printed by checkstack have an extra incorrect 0 appended at
    the end.
    
    This was introduced with commit 677f1410 ("scripts/checkstack.pl: don't
    display $dre as different entity"): since then the address is taken from
    the line which contains the function name, instead of the line which
    contains stack consumption. E.g. on s390:
    
    0000000000100a30 <do_one_initcall>:
    ...
      100a44:       e3 f0 ff 70 ff 71       lay     %r15,-144(%r15)
    
    So the used regex which matches spaces and hexadecimal numbers to extract
    an address now matches a different substring. Subsequently replacing spaces
    with 0 appends a zero at the and, instead of replacing leading spaces.
    
    Fix this by using the proper regex, and simplify the code a bit.
    
    Link: https://lkml.kernel.org/r/20231120183719.2188479-2-hca@linux.ibm.com
    Fixes: 677f1410 ("scripts/checkstack.pl: don't display $dre as different entity")
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Cc: Maninder Singh <maninder1.s@samsung.com>
    Cc: Masahiro Yamada <masahiroy@kernel.org>
    Cc: Vaneet Narang <v.narang@samsung.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    ee34db3f
checkstack.pl 5.74 KB