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