lkml.org 
[lkml]   [2018]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 09/10] powerpc/traps: Show instructions on exceptions
    Date
    Call show_instructions() in arch/powerpc/kernel/traps.c to dump
    instructions at faulty location, useful to debugging.

    Before this patch, an unhandled signal message looked like:

    pandafault[10524]: segfault (11) at 00000000100007d0 nip 000000001000061c lr 00007fffbd295100 code 2 in pandafault[10000000+10000]

    After this patch, it looks like:

    pandafault[10524]: segfault (11) at 00000000100007d0 nip 000000001000061c lr 00007fffbd295100 code 2 in pandafault[10000000+10000]
    Instruction dump:
    4bfffeec 4bfffee8 3c401002 38427f00 fbe1fff8 f821ffc1 7c3f0b78 3d22fffe
    392988d0 f93f0020 e93f0020 39400048 <99490000> 39200000 7d234b78 383f0040

    Signed-off-by: Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
    ---
    arch/powerpc/kernel/traps.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
    index e55ee639d010..3beca17ac1b1 100644
    --- a/arch/powerpc/kernel/traps.c
    +++ b/arch/powerpc/kernel/traps.c
    @@ -70,6 +70,7 @@
    #include <asm/hmi.h>
    #include <sysdev/fsl_pci.h>
    #include <asm/kprobes.h>
    +#include <asm/stacktrace.h>

    #if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC_CORE)
    int (*__debugger)(struct pt_regs *regs) __read_mostly;
    @@ -357,6 +358,8 @@ static void show_signal_msg(int signr, struct pt_regs *regs, int code,
    print_vma_addr(KERN_CONT " in ", regs->nip);

    pr_cont("\n");
    +
    + show_instructions(regs);
    }

    void _exception_pkey(int signr, struct pt_regs *regs, int code,
    --
    2.17.1
    \
     
     \ /
      Last update: 2018-07-27 17:00    [W:2.270 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site