tech-kern archive

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

Re: spl question



Le 29/07/2015 17:22, Taylor R Campbell a écrit :
>    Date: Wed, 29 Jul 2015 07:59:46 +0200
>    From: Maxime Villard <max%m00nbsd.net@localhost>
> 
>    What happens if the kernel calls splx(s) twice? And what happens if it
>    forgets to call splx(s)? Like:
> 
>            s = splnet();
> 
>            [...] NOT RELATED TO S
> 
>            return;   NO SPLX(S)
> 
>    I guess it creates some inconsistency, right?
> 
> It leaves the kernel thread running at elevated interrupt priority
> which will make it unresponsive to interrupts.
> 
> On several, if not all, architectures, the kernel checks on return to
> userland, if DIAGNOSTIC is enabled, for this case, and fails noisily
> if not -- SPL NOT LOWERED ON SYSCALL RETURN, &c.
> 
> This is a bug of pretty much the same class as missing mutex_exit.
> 

Ok, thanks. That's what I suspected. So sys/dev/ic/gem.c::gem_init()
is buggy, right? (found by Brainy)


Home | Main Index | Thread Index | Old Index