Patch Name: PHKL_29911 Patch Description: s700_800 11.11 Improper core file mesg, corrupt core file Creation Date: 03/10/23 Post Date: 03/11/03 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_29911: ABORT CORRUPTION Category Tags: defect_repair general_release critical halts_system corruption Path Name: /hp-ux_patches/s700_800/11.X/PHKL_29911 Symptoms: PHKL_29911: ( SR:8606322732 CR:JAGae85199 ) Programs which use the mmap(2) interface to map file data as MAP_PRIVATE into process address space may generate unusable core files and abort. This happens if the file size is less than the size specified to mmap(2) at the time of process termination. PHKL_23423: ( SR:8606125716 CR:JAGac42595 ) If the user already has the core file size configured as zero, and tries to dump a core, he will not get the core file dumped, but the shell will display incorrect msg: Abort(coredump) This is incorrect result. In this case, the shell should not display (coredump), it should display: Abort Defect Description: PHKL_29911: ( SR:8606322732 CR:JAGae85199 ) mmap(2) region larger than file size causes corrupt core files since pages in this region are not valid, but are referenced in the core dump path. Resolution: Dump the MAP_PRIVATE region only up to the size of file mapped irrespective of the mmap(2) mapping size. PHKL_23423: ( SR:8606125716 CR:JAGac42595 ) In the function core(), the incorrect return code '0' is returned if the core size is zero. The calling function psig() interprets the return code '0' as successful core dump. This is why the wrong message is displayed. Resolution: In the function core(), it now returns EACCES when the core size is zero. Enhancement: No SR: 8606125716 8606322732 Patch Files: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libvm.a(vm_core.o) /usr/conf/lib/libvm.a(vm_elf.o) /usr/conf/lib/libvm.a(vm_pa32core.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libvm.a(vm_core.o) /usr/conf/lib/libvm.a(vm_elf.o) /usr/conf/lib/libvm.a(vm_pa32core.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libvm.a(vm_core.o): vm_core.c $Date: 2003/10/13 23:42:09 $Revision: r11. 11/2 PATCH_11.11 (PHKL_29911) /usr/conf/lib/libvm.a(vm_elf.o): vm_elf.c $Date: 2003/10/13 23:42:09 $Revision: r11.1 1/1 PATCH_11.11 (PHKL_29911) /usr/conf/lib/libvm.a(vm_pa32core.o): vm_pa32core.c $Date: 2003/10/13 23:42:09 $Revision: r11.11/1 PATCH_11.11 (PHKL_29911) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libvm.a(vm_core.o): vm_core.c $Date: 2003/10/13 23:42:09 $Revision: r11. 11/2 PATCH_11.11 (PHKL_29911) /usr/conf/lib/libvm.a(vm_elf.o): vm_elf.c $Date: 2003/10/13 23:42:09 $Revision: r11.1 1/1 PATCH_11.11 (PHKL_29911) /usr/conf/lib/libvm.a(vm_pa32core.o): vm_pa32core.c $Date: 2003/10/13 23:42:09 $Revision: r11.11/1 PATCH_11.11 (PHKL_29911) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 3494766394 5664 /usr/conf/lib/libvm.a(vm_core.o) 1375996348 8572 /usr/conf/lib/libvm.a(vm_elf.o) 131529765 3656 /usr/conf/lib/libvm.a(vm_pa32core.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 1089867759 11912 /usr/conf/lib/libvm.a(vm_core.o) 251596320 15496 /usr/conf/lib/libvm.a(vm_elf.o) 2011756157 8568 /usr/conf/lib/libvm.a(vm_pa32core.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_23423 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_29911 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_29911.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_29911. 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_29911.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_29911.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_29911.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None