spl bugs

0 views
Skip to first unread message

watmath!dmmartindale

unread,
Feb 17, 1982, 11:35:12 AM2/17/82
to
Two raised-priority bugs in 4.1BSD:
========================================
SPL bug in clock.c. You SHOULD fix this one immediately; it causes most of
softclock to run with interrupts locked out!
The differences dealing with the deletion of references to berknet in clock.c
were suggested by Berkeley in one of their mailings and are not important;
the critical one is the splx() added in the callout loop of softclock.

diff /usr/distr/4.1/sys/sys/clock.c clock.c
21d20
< #include "bk.h"
191c190,191
< if ((p1 = calltodo.c_next) == 0 || p1->c_time > 0)
---
> if ((p1 = calltodo.c_next) == 0 || p1->c_time > 0) {
> splx(s);
192a193
> }
206d206
< #if NBK > 0
212d211
< #endif
===========================================================
Minor spl botch in bio.c; causes the strategy routine to run at high
priority:
(This one is in v7 as well.)

*** /usr/distr/4.1/sys/dev/bio.c Sun May 10 01:35:57 1981
--- bio.c Fri Sep 4 16:25:29 1981
***************
*** 713,718
bp->b_flags |= B_WANTED;
sleep((caddr_t)bp, PRIBIO+1);
}
bp->b_error = 0;
bp->b_proc = u.u_procp;
bp->b_un.b_addr = u.u_base;

--- 713,719 -----
bp->b_flags |= B_WANTED;
sleep((caddr_t)bp, PRIBIO+1);
}
+ (void) spl0();
bp->b_error = 0;
bp->b_proc = u.u_procp;
bp->b_un.b_addr = u.u_base;

Reply all
Reply to author
Forward
0 new messages