Patch Name: PHKL_24652 Patch Description: s700_800 11.11 longjmp() panic due to lookuppn() Creation Date: 01/08/01 Post Date: 01/08/02 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_24652: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_24652 Symptoms: PHKL_24652: ( SR:8606205411 CR:JAGad74586 ) A panic can occur in longjmp() if lookuppn() is called before it in the syscall() path. The stack trace is shown below: Stack trace of event 0: stack trace for event 0 crash event was a panic cannot find unwind or stub descriptor for pc==0x0'0405d694 panic+0x6c longjmp+0x28 panic+0x6c Defect Description: PHKL_24652: ( SR:8606205411 CR:JAGad74586 ) The panic occurs in longjmp() due to lookuppn() failing to restore the buffer holding the values necessary for longjmp() to return out of the syscall(). When lookuppn() has been called in the syscall() path, it modifies the value of the buffer containing the values to return from that syscall. After this has been done, if the syscall() gets aborted with a longjmp(), the longjmp() will incorrectly return to lookuppn() rather than to the syscall() at the top of the stack. This causes the kernel to panic. Resolution: lookuppn() now restores the buffer used by longjump() to the values it held prior to the call to lookuppn(). SR: 8606205411 Patch Files: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libfs.a(vfs_lookup.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libfs.a(vfs_lookup.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libfs.a(vfs_lookup.o): vfs_lookup.c $Date: 2001/07/16 09:19:42 $Revision: r 11.11/1 PATCH_11.11 (PHKL_24652) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libfs.a(vfs_lookup.o): vfs_lookup.c $Date: 2001/07/16 09:19:42 $Revision: r 11.11/1 PATCH_11.11 (PHKL_24652) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 618111306 7360 /usr/conf/lib/libfs.a(vfs_lookup.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 552226526 15072 /usr/conf/lib/libfs.a(vfs_lookup.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 50 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_24652 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_24652.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_24652. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHKL_24652.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_24652.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_24652.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None