Patch-ID# 100347-04
Keywords: fifo named pipe panic
Synopsis: SunOS 4.1.1;4.1.2;4.1.3: panics using fifo's (named pipes) under load
Date: Dec/19/94
 
Solaris Release: 1.1

SunOS release: 4.1.1, 4.1.2, 4.1.3, 4.1.3, 4.1.3C
 
Unbundled Product: 

Unbundled Release: 

BugId's fixed with this patch: 1065543 1050077 1071706

Changes incorporated in this version: 1071706

Relevant Architecture: sparc
    NOTE: sun4 sun4c sun4m

Patches accumulated and obsoleted by this patch: 

Patches which may conflict with this patch:

Obsoleted by: 
	NOTE:4.1.3_U1

Problem Description: 
	Under a heavy load, writing to a named pipe (fifo) can cause a
	kernel panic, if one doesn't have the definition in fifo.h set
	up correctly. Specifically, the definition for FIFOBUF must be
	greater than FIFOBSZ. Otherwise, you end up using a union instead
	of a structure, and the union pointer gets overwritten.
	
	Exceptions are not generated properly to the processes doing 
        select on a fifo.

INSTALL: 

As root:

Make a backup copy of the files to be installed:

mv /sys/`arch -k`/OBJ/fifo_vnodeops.o /sys/`arch -k`/OBJ/fifo_vno.FCS
mv /usr/include/specfs/fifo.h /usr/include/specfs/fifo.h.FCS
mv /usr/kvm/sys/specfs/fifo.h /usr/kvm/sys/specfs/fifo.h.FCS

Now install the patched files:

cp `arch -k`/{OS Release}/fifo_vnodeops.o /sys/`arch -k`/OBJ
cp fifo.h /usr/kvm/sys/specfs
cp fifo.h /usr/include/specfs

Rerun /etc/config <kernel-name> and make and install the new kernel.

Please refer to the system and networking administration manual
for details on building and installing a new kernel.
