• Kumar Gala's avatar
    [POWERPC] Enable interrupts if we are doing fp math emulation · 04903a30
    Kumar Gala authored
    Anytime we are emulating an instruction we are going to be doing some form of
    get_user() to get the instruction image to decode.  Since get_user() might
    sleep we need to ensure we have interrupts enabled or we might see something
    like:
    
    Debug: sleeping function called from invalid context at arch/powerpc/kernel/traps.c:697
    in_atomic():0, irqs_disabled():1
    Call Trace:
    [D6023EB0] [C0007F84] show_stack+0x58/0x174 (unreliable)
    [D6023EE0] [C0022C34] __might_sleep+0xbc/0xd0
    [D6023EF0] [C000D158] program_check_exception+0x1d8/0x4fc
    [D6023F40] [C000E744] ret_from_except_full+0x0/0x4c
    --- Exception: 700 at 0x102a7100
        LR = 0xdb9ef04
    
    However, we want to ensure that interrupts are disabled when handling a trap
    exception that might be used for a kernel breakpoint.  This is why ProgramCheck
    is marked as EXC_XFER_STD instead of EXC_XFER_EE.
    Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
    04903a30
traps.c 27.4 KB