NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/43217: KASSERT(ci->ci_ilevel < IPL_HIGH) failed when running a linux binary



The following reply was made to PR kern/43217; it has been noted by GNATS.

From: Arnaud Lacombe <lacombar%gmail.com@localhost>
To: Andrew Doran <ad%netbsd.org@localhost>
Cc: gnats-bugs%netbsd.org@localhost, kern-bug-people%netbsd.org@localhost, 
gnats-admin%netbsd.org@localhost, 
        netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/43217: KASSERT(ci->ci_ilevel < IPL_HIGH) failed when running 
        a linux binary
Date: Wed, 28 Apr 2010 09:14:12 -0400

 Hi,
 
 On Wed, Apr 28, 2010 at 6:40 AM, Andrew Doran <ad%netbsd.org@localhost> wrote:
 > There are at least two problems here.
 >
 > On Wed, Apr 28, 2010 at 03:50:00AM +0000, lacombar%gmail.com@localhost wrote:
 >
 >> KASSERT(ci->ci_ilevel < IPL_HIGH) in arch/x86/x86/pmap.c
 >
 > 1st is that we have gone to IPL_HIGH somewhere before entering the
 > pmap module, this isn't allowed because: context switching at IPL_HIGH
 > is prohibited and the pmap module may context switch.
 >
 As pointed by Mindaugas, printf() takes a lock which raises the prio
 to IPL_HIGH. Then strlen() triggers the fault, so we enter the trap at
 IPL_HIGH.
 
  - Arnaud
 


Home | Main Index | Thread Index | Old Index