Skip to contentSkip to conversation

opost_block sleeping in illegal context.

DISCUSSION Dave Jones 2 participants 2 messages Apr 9, 2003

lore
Share & tools
lore

Dave Jones

author
#0 lore raw

Not seen this one before.. 2.5.67

Dave

Debug: sleeping function called from illegal context at include/linux/rwsem.h:43

Call Trace:
 [<c0120d61>] __might_sleep+0x61/0x80
 [<c011c3af>] do_page_fault+0x19f/0x4e4
 [<c013104b>] specific_send_sig_info+0xeb/0x160
 [<c03291f5>] opost_block+0xf5/0x1c0
 [<c011c66d>] do_page_fault+0x45d/0x4e4
 [<c011c210>] do_page_fault+0x0/0x4e4
 [<c010b41d>] error_code+0x2d/0x40
 [<c02e66d6>] __copy_to_user_ll+0x26/0x50
 [<c010e967>] save_v86_state+0x1a7/0x1c0
 [<c011c210>] do_page_fault+0x0/0x4e4
 [<c010a4b6>] work_notifysig_v86+0x6/0x20
 [<c010a457>] syscall_call+0x7/0xb
#1 lore raw
Quoted 7 lines · Dave Jones

Not seen this one before.. 2.5.67

Dave

Debug: sleeping function called from illegal context at include/linux/rwsem.h:43

Quoted 13 lines
Call Trace:
 [<c0120d61>] __might_sleep+0x61/0x80
 [<c011c3af>] do_page_fault+0x19f/0x4e4
 [<c013104b>] specific_send_sig_info+0xeb/0x160
 [<c03291f5>] opost_block+0xf5/0x1c0
 [<c011c66d>] do_page_fault+0x45d/0x4e4
 [<c011c210>] do_page_fault+0x0/0x4e4
 [<c010b41d>] error_code+0x2d/0x40
 [<c02e66d6>] __copy_to_user_ll+0x26/0x50
 [<c010e967>] save_v86_state+0x1a7/0x1c0
 [<c011c210>] do_page_fault+0x0/0x4e4
 [<c010a4b6>] work_notifysig_v86+0x6/0x20
 [<c010a457>] syscall_call+0x7/0xb

No, this isn't opost_block(). It's the vm86 stuff, but I can't see why.

Is do_page_fault+0x19f/0x4e4 a down_read()? Which one?

If it's repeatable, please change __might_sleep() to display preempt_count() and irqs_disabled().