Patch Name: PHKL_2856 Patch Description: s700 8.07 Fixes many iunlock and ufs_inactive panics Fixes many iunlock and ufs_inactive panics espescially with ifind failed: servestratread console messages. This fixes iunlock panics, ufs_inactive panics, problems with ifind failed: servestratread messages. It affects DUX servers only. All of the other ifind calls in dux*.c probably should also be fixed. However, this should take care of 95-99% of the current problems. There was a hole using ifind(). Sample scenario: going thru servestratread, lock inode with matching dev, i_number. This one happens to be on free list though. But all ifind does is get it, then servestrat* ilocked it. Now other process goes along through ufs code and grabs that "free" inode to use. He writes over the flag word setting only REF bit. (This is all going thru iget()). @From here on, there are many scenarios, but lets say the second guy finishes and unlocks the inode, then the first guy (in servestratread) finishes and unlocks the inode...Boom! Path Name: /hp-ux_patches/s700/8.X/PHKL_2856 Effective Date: 930715 Patch Files: /system/PHKL_2856/new/duxstrat.o SR/APR#: None "what" string/timestamp: duxstrat.o: duxstrat.c $Revision: 1.8.77.3 $ $Date: 93/07/15 08:47:59 $PATCH_8.07 (PHKL_2856) "sum" output: 33562 18 duxstrat.o Dependencies: None Supersedes: None Patch Package Size: 72 Kbytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. Note: Please back up your system before you patch. --------------------------------------------------------------------------- After getting the patch onto your machine, unshar the patch (sh PHKL_2856). To install this patch do the following: 1) Run /etc/update (Note: you must be logged in as root to update a system). 2) Once in the update "Main Menu" move the highlighted line to "Change Source or Destination ->" and press "Return" or "Select Item". 3) Make sure the highlighted item in the "Change Source or Destination" window is "From Tape Device to Local System ...", then press "Return" or "Select Item". 4) You should now be in the "From Tape Device to Local System" window. Change the "Source: /dev/rmt/0m" to "Source: /tmp/PHKL_2856.updt" (this assumes that you are in the /tmp directory where PHKL_2856.updt has been placed). Note: You must enter the complete path name. 5) Press "Done". 6) From here on follow the standard directions for update. The customized script that update runs will move the original software to /system/PHKL_2856/orig. HP recommends keeping this software there in order to recover from any potential problems. It is also recommended that you move the PHKL_2856.text file to /system/PHKL_2856 to be retained for future reference. If you wish to put this patch on a magnetic tape and update from the tape drive, dd a copy of the patch to the tape drive. As an example the following will create a copy of the patch that update can read: dd if=PHKL_2856.updt of=/dev/rmt/0m bs=2048