Patch Name: PHKL_28488 Patch Description: s700_800 11.00 copyin EFAULT, LDCD access type Creation Date: 03/01/15 Post Date: 03/02/18 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_28488: HANG PHKL_24005: OTHER application sees EFAULT even while using a valid address. Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHKL_28488 Symptoms: PHKL_28488: ( SR:8606287496 CR:JAGae51435 ) A 64bit application calling fork() may experience an interruptible hang. PHKL_24005: ( SR: 8606157079 CR:JAGad26413) System returns Bad address (EFAULT) even when the application supplied a valid address. Defect Description: PHKL_28488: ( SR:8606287496 CR:JAGae51435 ) If the first access to a copy on write page after a fork() is an LDCD (load and clear double) instruction, when resolving the protection (access) fault, the access type is incorrectly determined to be a READ instead of a WRITE, thus resulting in a recursive protection fault and interruptible process hang. Resolution: Updated the access type checking routines to correctly return WRITE for LDCD instructions. PHKL_24005: ( SR: 8606157079 CR:JAGad26413) The system checks the access rights for the page twice before copying a page in memory. The second check is done if the page was not already in memory and was brought in by a fault. This second check can fail under a race condition. Resolution: The solution is not to check the access rights again if the fault is resolved - resolving the fault ensures that the page is in memory with proper access rights. Enhancement: No SR: 8606157079 8606287496 Patch Files: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(vm_mapcall.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(vm_mapcall.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(vm_mapcall.o): vm_mapcall.c $Date: 2003/01/06 08:21:25 $Revision: r 11ros/4 PATCH_11.00 (PHKL_28488) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(vm_mapcall.o): vm_mapcall.c $Date: 2003/01/06 08:21:25 $Revision: r 11ros/4 PATCH_11.00 (PHKL_28488) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 1540202931 9380 /usr/conf/lib/libhp-ux.a(vm_mapcall.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 1973053988 28152 /usr/conf/lib/libhp-ux.a(vm_mapcall.o) Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_18543 s800: 11.00: PHKL_18543 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_24005 Equivalent Patches: None Patch Package Size: 60 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_28488 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_28488.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_28488. 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_28488.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_28488.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_28488.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None