lkml.org 
[lkml]   [2003]   [Aug]   [19]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 18 Aug 2003 23:14:04 -0500
FromMatt Mackall <>
SubjectRe: Debug: sleeping function called from invalid context
On Mon, Aug 18, 2003 at 08:35:13PM -0700, Andrew Morton wrote:
> "Randy.Dunlap" <rddunlap@osdl.org> wrote:
> >
> > Debug: sleeping function called with interrupts disabled at
> >  include/asm/uaccess.h:473
> 
> OK, now my vague understanding of what's going on is that the app has
> chosen to disable local interupts (via iopl()) and has taken a vm86 trap. 

Are you suggesting that whatever's calling sys_vm86 has disabled
interrupts beforehand? I don't see why that's necessary at all. The
vm86 fault handler is called via do_general_protection in any case and
as such is in_interrupt() by definition. And a vm86 general protection
fault can be caused by any of cli, sti, pushf, popf, intx, or iret. In
fact, typical usage of vm86 mode is to setup a call to a 16-bit
software interrupt handler and return via fault on the iret.

I'm increasingly convinced it's actually broken.

-- 
Matt Mackall : http://www.selenic.com : of or relating to the moon
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:47    [W:2.111 / U:0.090 seconds]
©2003-2008 Jasper Spaans