Patch-ID# 100359-08 Keywords: panic assertion, console printf hangs, setrun, process, interrupt, poll Synopsis: SunOS 4.1.1;4.1.2;4.1.3: streams jumbo patch Date: Jun/28/94 SunOS release: 4.1.1 4.1.2 4.1.3 4.1.3 4.1.3C Topic: Streams Jumbo Patch, revision update for 4.1.3 compatibility BugId's fixed with this patch: 1055188 1068158 1044100 1044888 1047355 1058097 1061174 Changes incorporated in this version: 1055188 Architectures for which this patch is available: sun3 sun3x sun4 sun4c sun4m Patches accumulated and obsoleted by this patch: 100179 100233 100255 100279 100310 100189 Patches which may conflict with this patch: NOTE: IMPORTANT: This patch can be installed on a system with DBE1.1, 1.2, and 1.3 installed. Just make sure that the dbe versions of the str_syscalls.o is used. This applies to each sparc architecture. Obsoleted by: 4.1.3_U1 Problem Description: This revision is a reissue of withdrawn patch 100359-07 to correct problems with the packaging of that revision. Bugid 1055188 setrun gets going polltime, and an interrupt comes in on the tty and causes data to be passed up the stream. read_put procedure simply queues the data on the stream head (which calls setrun to wake up the process). After the interrupt returns the setrun() call from polltime() resumes trying to wake an already awake process causing a panic. 2/6/92 This version of the patch contained the additional binaries for sun4m architecture. Bugid 1068158 System crash with assertion failure vp->v_stream when using clone driver. Bugid 1044100 This patch incorporates the fix for bug id #1044100 which results in a machine freeze. Bugid 1044888 This patch also fixes a bug where kernel printf hangs the system. Bugid 1047355 Polling not working correctly. Bugid 1058097 System crash with panic data fault, with bad buffer pointer, usually in the login process. Bugid 1061174 'poll()' does not return -1 when 'poll()' receives a signal when polling fds greater than 30. Bugid 1058097 (11/11/91 100359-03) The same system crash panic data fault can occur when the ioctl FIONREAD is being processed. INSTALL: As root, make a backup copy of the files to be patched: mv /sys/`uname -m`/OBJ/str_io.o /sys/`uname -m`/OBJ/str_io.o_orig mv /sys/`uname -m`/OBJ/str_syscalls.o /sys/`uname -m`/OBJ/str_syscalls.o_orig Now install the patched files: cp `uname -m`/`uname -r`/str_io.o /sys/`uname -m`/OBJ cp `uname -m`/`uname -r`/str_syscalls.o /sys/`uname -m`/OBJ OR FOR SYSTEMS WITH DBE: cp `uname -m`/`uname -r`/str_io.o /sys/`uname -m`/OBJ cp `uname -m`/`uname -r`/str_syscalls.dbe.o /sys/`uname -m`/OBJ/str_syscalls.o chmod 444 /sys/`uname -m`/OBJ/str_io.o chmod 444 /sys/`uname -m`/OBJ/str_syscalls.o Then a new kernel will need to be made Please refer to the System and Network Administration manual on building and installing a custom kernel.