Patch Name: PHKL_22328 Patch Description: s700 10.20 Data page fault in remove_callout() fix Creation Date: 00/10/27 Post Date: 00/11/07 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Release Critical: No Path Name: /hp-ux_patches/s700/10.X/PHKL_22328 Symptoms: PHKL_22328: (SR: 8606147352 CR: JAGad16695) Callout list corruption causing spinlock deadlock panic due to CPU0 holding callout_lock for too long. Defect Description: PHKL_22328: (SR: 8606147352 CR: JAGad16695) Possible race condition that may allow a callout to appear on 2 callout lists. When cleanout_bucket() transiently removes a callout from one callout list and re-insert it to another, there is a small window in which the callout's c_flag doesn't have PENDING_CALLOUT set as remove_callout() always clears PENDING_CALLOUT bit in c_flag. Resolution: The fix is to introduce a new flag C_DONTFREEIT_TRANSITION while calling remove_callout() before insert_callout(). This will ensure that the callout does not end up in more than one callout lists. SR: 8606147352 Patch Files: /usr/conf/lib/libhp-ux.a(pm_callout.o) what(1) Output: /usr/conf/lib/libhp-ux.a(pm_callout.o): pm_callout.c $Date: 2000/09/05 10:42:22 $ $Revision: 1.5.98.2 $ PATCH_10.20 (PHKL_22328) cksum(1) Output: 3864830929 11512 /usr/conf/lib/libhp-ux.a(pm_callout.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHKL_22329: s800: 10.20 Patch Package Size: 70 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. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHKL_22328 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_22328.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_22328. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHKL_22328.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_22328.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None