Patch Name: PHKL_27282 Patch Description: s700_800 11.00 signal cumulative patch Creation Date: 02/06/26 Post Date: 02/07/26 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_27282: ABORT Category Tags: defect_repair enhancement general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHKL_27282 Symptoms: PHKL_27282: ( SR:8606258511 CR:JAGae22811 ) Applications which are compiled for the 32-bit data model and run on a 64-bit kernel can sometimes abort with the messages: "Pid killed due to trashed stack. Pid was killed due to failure in writing the signal context." In most cases, the application was compiled with +O2 optimization or uses alloca(3C) with a computed size argument. PHKL_20228: ( SR: 8606107525 DTS: JAGab77768 ) This patch is patch 7 of 8 patches necessary to add support for the 3 Gb private address space feature. Defect Description: PHKL_27282: ( SR:8606258511 CR:JAGae22811 ) The problem is that the upper half of the 64-bit stack pointer can sometimes contain non-zero data (e.g., due to overflows in calculating the size argument for alloca(); or due to optimizer use of the upper half of the register for temporary storage). This causes the kernel to make invalid references to the user stack, resulting in program aborts. Resolution: For 32-bit programs, the kernel will now use only the lower half of the stack pointer register, which is the correct and complete address. PHKL_20228: ( SR: 8606107525 DTS: JAGab77768 ) This is one of 8 patches necessary to add support for the 3 Gb private address space feature. This feature allows a process to have a private 3rd quadrant (normally the 3rd quadrant, which is a 1 Gb range of address space from 0x80000000 to 0xC0000000, is used for shared objects). The chatr command must be used to enable this feature for an executable (chatr +q3p enable ). Note that this feature is only enabled for 32 bit processes running on the 64 bit version of HP-UX. The other 7 patches necessary to enable this feature are PHKL_20222, PHKL_20223, PHKL_20224, PHKL_20225, PHKL_20226, PHKL_20227 and PHKL_20229. Each patch may be installed independently of the others - if enabling the 3 Gb private address space feature is not desired. If fewer than all 8 patches are installed, the 3 Gb private address space feature will not be enabled. The code in this patch that is part of this feature will not have any impact on the system until all 8 patches are installed. Resolution: A subset of the code to support the 3 Gb private address space feature was added. When all 8 patches are installed the following code changes to support this feature will have been added: 1) Code to recognize the request for a private 3rd quadrant (Q3) during exec() of an executable. An executable that requests a private 3rd quadrant will be referred to as a q3p process below. 2) Code to prevent allocation of shared objects in q3p processes. 3) Code to allow data to extend over the 2nd/3rd quadrant boundary for q3p processes. 4) Code to put the stack for the primary thread in the 3rd quadrant for q3p processes. 5) Code to map a shared library into the private address space if there is no more room in the 4th shared quadrant for q3p processes. SR: 8606107525 8606258511 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(pm_sendsig.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(pm_sendsig.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(pm_sendsig.o): pm_sendsig.c $Date: 2002/06/26 09:50:32 $Revision: r 11ros/5 PATCH_11.00 (PHKL_27282) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(pm_sendsig.o): pm_sendsig.c $Date: 2002/06/26 09:50:32 $Revision: r 11ros/5 PATCH_11.00 (PHKL_27282) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 3473568661 21384 /usr/conf/lib/libhp-ux.a(pm_sendsig.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 2231778966 51904 /usr/conf/lib/libhp-ux.a(pm_sendsig.o) Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_18543 s800: 11.00: PHKL_18543 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_20228 Equivalent Patches: PHKL_27283: s700: 11.11 s800: 11.11 Patch Package Size: 100 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_27282 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_27282.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_27282. 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_27282.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_27282.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_27282.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_18543. For successful installation please insure that PHKL_18543 is already installed, or that PHKL_18543 is included in the same depot with this patch and PHKL_18543 is selected for installation.