• Heiko Carstens's avatar
    s390/stacktrace: fix save_stack_trace_tsk() for current task · 665ca918
    Heiko Carstens authored
    The function save_stack_trace_tsk() did not consider that it can be
    used for tsk == current, for which the current stack pointer obviously
    cannot be found in the thread structure.
    
    Fix this and get the stack pointer with an inline assembly.
    
    This fixes e.g. the output of "cat /proc/self/stack".
    
    Before:
    [<0000000000000000>]           (null)
    [<ffffffffffffffff>] 0xffffffffffffffff
    
    After:
    [<000000000011b3ee>] save_stack_trace_tsk+0x56/0x98
    [<0000000000366cde>] proc_pid_stack+0xae/0x108
    [<00000000003636f0>] proc_single_show+0x70/0xc0
    [<0000000000311fbc>] seq_read+0xcc/0x448
    [<00000000002e7716>] __vfs_read+0x36/0x100
    [<00000000002e872e>] vfs_read+0x76/0x130
    [<00000000002e975e>] SyS_read+0x66/0xd8
    [<000000000089490e>] system_call+0xd6/0x264
    [<ffffffffffffffff>] 0xffffffffffffffff
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Tested-by: default avatarPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    665ca918
stacktrace.c 2.45 KB