Patch-ID# 100623-03
Keywords: ufs_inactive syncip ufs zero length security panic ifree inode bmap iget
Synopsis: 4.1.2;4.1.3: UFS jumbo patch
Date: 11/Dec/92

SunOS release: 4.1.2 4.1.3

Unbundled Product: 

Unbundled Release: 

Topic:  UFS jumbo patch

BugID's fixed with this patch: 1078521 1039693 1082206 1071839 1102884 1100860 1077035 1063470 1075369

Changes incorporated in this version: 1102884 1100860 1077035 1063470 1075369

Architectures for which this patch is available: sun4, sun4c, sun4m

Patches which may conflict with this patch: 100505-01 100548-01 100575-02 100731-01

    NOTE: ufs_bmap.o is modified in both this patch and 100575-02.  This
    patch ufs_bmap.o patch has the 100575 ufs_bmap.o integrated and should
    always be the last installed of the two.

    NOTE: This patch should be applied in conjuction with patch 100173 (the
    NFS jumbo patch) when using NFS.  The NFS jumbo patch is not necessary with 
    installations of SNC (Sun Network Coprocessor).


Obsoleted by: 

Files included with this patch: 
	ufs_bmap.o
	ufs_inode.o
	ufs_dir.o

Problem Description: 

This patch includes fixes for all known ufs-related bugs, including some that
can cause "panic: freeing free inode" and "panic: ialloc: dup alloc"

	1078521 Zero length directories can be left when a system is powered off
	1039693 panic: ifree: freeing free inode
	1082206 bmap references block after calling brelse
	1071839 iget shouldn't hammer i_flag when reclaiming an inode
	1102884 panic: iinactive: VN_HOLD not done in iget() when inode is not 
		incache  causing corruption of inode free list.
	1102884 panic: iinactive: ifreet not updated if ERROR encountered
	               in bread() in iget() routine.
	1100860 Use of sticky bit on plain files causes corrupt inodes
	1077035 Files with the sticky bit turned on are not updating the inode
	        cache when it is flushed due to heavy file system activity.
	1063470 Non-random file handles can be guessed, leading to security
		hole.
	1075369 panic in ufs_putpage hole when running application on an
		NFS client.
	

Install Instructions: 
 
    mv  /sys/`arch -k`/OBJ/ufs_bmap.o  /sys/`arch -k`/OBJ/ufs_bmap.o.orig
    mv  /sys/`arch -k`/OBJ/ufs_inode.o  /sys/`arch -k`/OBJ/ufs_inode.o.orig
    mv  /sys/`arch -k`/OBJ/ufs_dir.o  /sys/`arch -k`/OBJ/ufs_dir.o.orig
    mv /usr/etc/fsirand /usr/etc/fsirand_orig

    cp `arch -k`/{OS Release}/ufs_bmap.o  /sys/`arch -k`/OBJ/ufs_bmap.o
    cp `arch -k`/{OS Release}/ufs_inode.o  /sys/`arch -k`/OBJ/ufs_inode.o
    cp `arch -k`/{OS Release}/ufs_dir.o  /sys/`arch -k`/OBJ/ufs_dir.o
    cp `arch -k`/{OS Release}/fsirand    /usr/etc/fsirand
    chmod 755 /usr/etc/fsirand
    chown root.staff /usr/etc/fsirand

    Then, build, install, and boot a new kernel.  Please refer to the
    System and Network Administration Manual.
