Patch-ID# 100089-06
Keywords: tmpfs, crash, fail assertion
Synopsis: SunOS 4.1:fixes for various tmpfs bugs 
Date: 30-May-91
 
SunOS release: 4.1
 
Unbundled Product: 
 
Unbundled Release:
 
Topic: 
 
BugId's fixed with this patch: 1042253 1042028 1042025 1041989 1037425 1034804
                               1033329 1033326 1033262 1032932 1032904 1038651
                               1044192 1042350 1043270 1057963 1049027 1054054
                1047586

Architectures for which this patch is available: sun3 sun3x sun4 sun4c sun4/490-PSR_A

Obsoleted by:

Problem Description:

1042253: truncating tmpfs files can cause loss of available swap space
1042028: tmpfs should check directory execution permissions
1042025: set-uid/gid bits should be turned off when writing to a tmpfs file.
1041989: tmpfs memory allocation inefficient
1037425: attempt to mkdir in tmpfs can result in assertion failed panic
1034804: SCTS: st_rmdir_09u.c will made system panics on tmpfs file system.
1033329: tmp vfs out of space after creating 2000 empty files
1033326: chmod +t /tmp has no effect on the tmp vfs
1033262: write to tmpfs file fails assertion
1032932: tmpfs problem with updating access time and modified time.
1032904: Doing a mkfifo on tmpfs filesystem causes crash 
1038651: Using tmpfs ie ram /tmp can cause data initialization with Fortran on SunOS 4.1.
1044192: hard link to a directory succeeds on tmpfs for non-root users
1042350: tmpfs problem with ftruncate test in SCTS from SUNVS.
1043270: tmpfs disallows mmap beyond end of file
1057963: cannot mount an exported tmpfs directory
1049027: tmpfs hangs and deadlocks
1054054: +s and +t together do not work as expected

INSTALL:
AS ROOT:

SAVE THE OLD VERSION:

mv /sys/`arch -k`/OBJ/tmp_dir.o /sys/`arch -k`/OBJ/tmp_dir.o.FCS
mv /sys/`arch -k`/OBJ/tmp_tnode.o /sys/`arch -k`/OBJ/tmp_tnode.o.FCS
mv /sys/`arch -k`/OBJ/tmp_vfsops.o /sys/`arch -k`/OBJ/tmp_vfsops.o.FCS
mv /sys/`arch -k`/OBJ/tmp_vnodeops.o /sys/`arch -k`/OBJ/tmp_vnodeops.o.FCS

INSTALL THE NEW VERSION:

cp `arch -k`/tmp_dir.o /sys/`arch -k`/OBJ/tmp_dir.o
cp `arch -k`/tmp_tnode.o /sys/sun{3,3x,4,4c}/OBJ/tmp_tnode.o
cp `arch -k`/tmp_vfsops.o /sys/`arch -k`OBJ/tmp_vfsops.o
cp `arch -k`/tmp_vnodeops.o /sys/`arch -k/OBJ/tmp_vnodeops.o

run /etc/config on your kernel and do a make. Install the newly configured vmunix
and reboot. Refer to the Systems and Network administrations manual on how to configure
a kernel.
