Patch Name: PHKL_27682 Patch Description: s700_800 11.11 diag0 cumulative patch Creation Date: 02/10/26 Post Date: 02/10/29 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_27682: PANIC MEMORY_LEAK CORRUPTION Category Tags: defect_repair general_release critical panic corruption memory_leak Path Name: /hp-ux_patches/s700_800/11.X/PHKL_27682 Symptoms: PHKL_27682: ( SR:8606280707 CR:JAGae44677 ) When a 32-bit application running on a 64-bit operating system accesses the diag0 driver, the system may panic with a data page fault. The panic stack trace may be similar to the following: panic+0x14 report_trap_or_int_and_panic+0x80 trap+0xdb8 nokgdb+0x8 lbcopy_pcxu_method+0x8 privlbcopy+0x1c diag0_send_msg+0xac diag0_strategy+0xbc physio+0x178 diag0_write+0x188 spubind_cdev_write+0x84 spec_rdwr+0x18c vno_rw+0x1d4 write+0x104 syscall+0x480 $syscallrtn+0x0 Defect Description: PHKL_27682: ( SR:8606280707 CR:JAGae44677 ) The diag0 driver does not synchronize the write() system call. As a result, multiple threads could reference the same port and could allocate, deallocate or modify the same user data structure. Simultaneous allocation and deallocation by different threads can result in memory leaks, and simultaneous modification of the same user data structure can result in data corruption. This problem is only seen on 32-bit applications running on a 64-bit OS. Resolution: Code for allocating memory and setting up the user data structure has been moved from the driver's write routine to the strategy routine. Enhancement: No SR: 8606280707 Patch Files: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libsio.a(diag0.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libsio.a(diag0.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libsio.a(diag0.o): diag0.c $Date: 2002/10/18 06:33:32 $Revision: r11.11 /2 PATCH_11.11 (PHKL_27682) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libsio.a(diag0.o): diag0.c $Date: 2002/10/18 06:33:32 $Revision: r11.11 /2 PATCH_11.11 (PHKL_27682) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 3311303927 19636 /usr/conf/lib/libsio.a(diag0.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 3897130834 67376 /usr/conf/lib/libsio.a(diag0.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 110 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_27682 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_27682.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_27682. 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_27682.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_27682.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_27682.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None