Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles; site convex.UUCP Path: utzoo!linus!vaxine!wjh12!genrad!decvax!ucbvax!ucbcad!tektronix!uw-beaver!cornell!vax135!houxz!houxm!ihnp4!inuxc!pur-ee!uiucdcs!convex!hosking From: hosking@convex.UUCP Newsgroups: net.bugs.4bsd Subject: 4.2BSD tty.c bug - (nf) Message-ID: <33500006@convex.UUCP> Date: Sat, 16-Jun-84 01:25:00 EDT Article-I.D.: convex.33500006 Posted: Sat Jun 16 01:25:00 1984 Date-Received: Tue, 19-Jun-84 01:19:15 EDT Lines: 21 Nf-ID: #N:convex:33500006:000:510 Nf-From: convex!hosking Jun 15 00:25:00 1984 #N:convex:33500006:000:510 convex!hosking Jun 15 00:25:00 1984 In 4.2BSD tty.c, routine "ttwrite", there appears to be a bug with the way interrupt masking is done. Assuming you reach "ovhiwat:", interrupts are masked with s = spl5();. However, there are at least 2 ways to leave this code without a corresponding splx(s). Oops! ovhiwat: s = spl5(); . . . if (tp->t_state&TS_NBIO) { if (uio->uio_resid == cnt) return (EWOULDBLOCK); <---------- return (0); <---------- } Doug Hosking Convex Computer Corp. ..{allegra, ihnp4}!convex!hosking