Date: Wed, 29 Jul 2015 19:27:58 +0200 From: Maxime Villard <[email protected]>
Le 29/07/2015 17:22, Taylor R Campbell a écrit : > Date: Wed, 29 Jul 2015 07:59:46 +0200 > From: Maxime Villard <[email protected]> > > What happens if the kernel calls splx(s) twice? And what happens if it > forgets to call splx(s)? Like: > > 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) Looks like it. There are three bugs, I think: - missing splx in one error branch, - wrong return value in the same error branch (1, not EWHATEVER), and - incorrectly returns zero in another error branch (rc set, not used). Not 100% confident about the second two -- I just took a cursory glance.
