Patch-ID# 102516-06
Keywords: security ufs mapsearch corruption frag unlink locking limits
Synopsis: SunOS 4.1.4: UFS File system Patch
Date: Dec/03/97

Solaris Release: 1.1.2

SunOS release: 4.1.4

Unbundled Product: 

Unbundled Release: 

BugId's fixed with this patch: 1243416 1122110 1198894 1146022 1118195 1121151 1118195 1141100 1183488 1178842 1142151 1182440 4034187

Changes incorporated in this version: 4034187         

Relevant Architecture: sparc
    NOTE: sun4(all)

Patches which may conflict with this patch: 

Other patches this accumulates and obsoletes: 102264-03

Obsoleted by: 

Files included with this patch:
sun4/rpc.statd
sun4/rpc.lockd
sun4/ufs_vnodeops.o 
sun4/ufs_dir.o
sun4/ufs_lockf.o
sun4c/rpc.statd
sun4c/rpc.lockd
sun4c/ufs_vnodeops.o
sun4c/ufs_dir.o
sun4c/ufs_lockf.o
sun4m/rpc.statd
sun4m/rpc.lockd
sun4m/ufs_vnodeops.o
sun4m/ufs_dir.o
sun4m/ufs_lockf.o

Problem Description: 

-06 Rev:4034187  buffer overflow in statd allows root attack

-05 Rev:1142151  rpc.lockd may core dump after going through reclaim
        1182440  clients dump core and lockd server hangs

-04 Rev:
	1243416  statd security problem

-03 Rev: 

	1183488: The system panics when the application which uses
                 Informix version 5 is running.
	1178842: Patch 101784-02 causes Assertion failed panic under 4.1.3_U1.

-02 Rev:

	1141100: Machine panics with irele when doing a unlink

-01 Rev:

	1198894: System panics  ( mapsearch,freeing free frag) when users
       	         hit quota limits on 4.x.
	1146022: Mandatory locking gets set when it shouldn't.
	1118195: Panic: ifree: freeing free inode.
	1121151: Panic: alloccgblk: can't find blk in cyl.
	1126760: Write() requests which fail due to ENOSPC will 
                 still set the file size.
	1122110: Fsck fails to fix a corrupted directory after a ufs panic.


Patch Installation Instructions:

AS ROOT:

1. Save FCS version of the file:

mv /usr/etc/rpc.statd /usr/etc/rpc.statd.FCS
mv /usr/etc/rpc.lockd /usr/etc/rpc.lockd.FCS
mv /sys/`arch -k`/OBJ/ufs_vnodeops.o /sys/`arch -k`/OBJ/ufs_vnodeops.o.FCS
mv /sys/`arch -k`/OBJ/ufs_dir.o      /sys/`arch -k`/OBJ/ufs_dir.o.FCS
mv /sys/`arch -k`/OBJ/ufs_lockf.o    /sys/`arch -k`/OBJ/ufs_lockf.o.FCS
   
2. Copy the patched file:

cp `arch -k`/rpc.statd /usr/etc/rpc.statd
cp `arch -k`/rpc.lockd /usr/etc/rpc.lockd
cp `arch -k`/ufs_vnodeops.o /sys/`arch -k`/OBJ/ufs_vnodeops.o
cp `arch -k`/ufs_dir.o      /sys/`arch -k`/OBJ/ufs_dir.o
cp `arch -k`/ufs_lockf.o    /sys/`arch -k`/OBJ/ufs_lockf.o

3. Rebuild the kernel and reboot the system with the new kernel.

Please refer to the System and Networking Administration Manual
for details on building and installing a custom kernel.
