• Kevin Hao's avatar
    powerpc/trace: Add a dummy stack frame for trace_hardirqs_off · 2cd76629
    Kevin Hao authored
    The trace_hardirqs_off will use CALLER_ADDR0 and CALLER_ADDR1.
    If an exception occurs in user mode, there is only one stack frame
    on the stack and accessing the CALLER_ADDR1 will causes the following
    call trace. So we create a dummy stack frame to make
    trace_hardirqs_off happy.
    
    WARNING: at kernel/smp.c:459
    Modules linked in:
    NIP: c0093280 LR: c00930a0 CTR: c0010780
    REGS: edb87ae0 TRAP: 0700   Not tainted  (3.1.0)
    MSR: 00021002 <ME,CE>  CR: 28002888  XER: 00000000
    TASK = edce2ac0[17658] 'mthread-lock-on' THREAD: edb86000 CPU: 5
    GPR00: 00000001 edb87b90 edce2ac0 00000005 c0019594 edb87bd8 00000001 00000fe3
    GPR08: 00041000 c084138c 4e20120d edb87b90 48002888 1001aa7c 00000000 00000000
    GPR16: 48830000 10012a8c 00000000 10000af4 00000001 c0810000 00000000 00000000
    GPR24: ee9aa920 c0816a18 00000000 00000005 c0019594 edb87bd8 ee20178c edb87b90
    NIP [c0093280] smp_call_function_many+0x214/0x2b4
    LR [c00930a0] smp_call_function_many+0x34/0x2b4
    Call Trace:
    [edb87b90] [c00930a0] smp_call_function_many+0x34/0x2b4 (unreliable)
    [edb87bd0] [c00194ec] __flush_tlb_page+0xac/0x100
    [edb87c00] [c001957c] flush_tlb_page+0x3c/0x54
    [edb87c10] [c00180ac] ptep_set_access_flags+0x74/0x12c
    [edb87c40] [c0128068] handle_pte_fault+0x2f0/0x9ac
    [edb87cb0] [c0128c3c] handle_mm_fault+0x104/0x1dc
    [edb87ce0] [c05f40f4] do_page_fault+0x2dc/0x630
    [edb87e50] [c001078c] handle_page_fault+0xc/0x80
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    2cd76629
entry_32.S 33.8 KB