Xref: utzoo comp.bugs.sys5:725 comp.unix.wizards:13693 Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!ukma!gatech!ulysses!smb From: smb@ulysses.homer.nj.att.com (Steven M. Bellovin) Newsgroups: comp.bugs.sys5,comp.unix.wizards Subject: Re: Surprising fact about STREAMS service modules Message-ID: <11047@ulysses.homer.nj.att.com> Date: 25 Dec 88 20:31:18 GMT References: <4385@hcr.UUCP> <313@taniwha.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 7 A persistent bug source, in many versions on the UNIX system, is that splN() calls, other than splx(), unconditionally set the interrupt level to the indicated value, rather than *raising* it to that value. It is almost never correct to lower an interrupt level, except via splx() or spl0(). Sun has gotten some of those right; the symbolic spl() calls (splimp(), etc.) check the current level before raising it. 4.3bsd is wrong; I haven't been able to check 4.3 Tahoe yet.