PowerPC: Sleeping function called from invalid context at emulate_instruction()

Kumar Gala galak at kernel.crashing.org
Thu Feb 23 15:22:17 EST 2006


On Feb 22, 2006, at 2:29 PM, Michael Buesch wrote:

> Hi,
>
> On a powerPC 32bit, I got the following debugging assertion failure:
>
> [  733.209827] Debug: sleeping function called from invalid context  
> at arch/powerpc/kernel/traps.c:697
> [  733.210682] in_atomic():0, irqs_disabled():1
> [  733.211347] Call Trace:
> [  733.211969] [D6023EB0] [C0007F84] show_stack+0x58/0x174  
> (unreliable)
> [  733.212765] [D6023EE0] [C0022C34] __might_sleep+0xbc/0xd0
> [  733.213523] [D6023EF0] [C000D158] program_check_exception 
> +0x1d8/0x4fc
> [  733.214309] [D6023F40] [C000E744] ret_from_except_full+0x0/0x4c
> [  733.215076] --- Exception: 700 at 0x102a7100
> [  733.215785]     LR = 0xdb9ef04
>
> It is caused by the line
> if (get_user(instword, (u32 __user *)(regs->nip)))
> in arch/powerpc/kernel/traps.c:emulate_instruction()
>
> I am not sure, if this is an indication for a bug, or just false  
> alarm.
> In case of false alarm, the debugging message should be made quiet
> somehow, though.

Paul,

Last time this was brought up we left it wondering why you had made  
program_check_exception() run with interrupts disabled.  Any further  
ideas on that one?

- kumar



More information about the Linuxppc-dev mailing list