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