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

From: Michael Buesch
Date: Wed Feb 22 2006 - 15:30:41 EST


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.

--
Greetings Michael.

Attachment: pgp00000.pgp
Description: PGP signature