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



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