Patch Name: PHKL_26772 Patch Description: s700_800 11.04 (VVOS) assert in sw_localalloc Creation Date: 02/03/29 Post Date: 02/04/04 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_26772: PANIC PHKL_21429: PANIC PHKL_19992: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_26772 Symptoms: PHKL_26772: Under heavy load, the system panics with an assert in sw_localalloc routine. PHKL_21429: After enabling audit on an MP system, the system panics with the message "panic: sw_alloc_proc: not at base spl level." PHKL_19992: Monarch processor shows a heavier load than all other processors on the system. If a process writes an application audit record and audit is disabled, the write() system call returns that no bytes have been written. This could cause an application written with user threads to hang. System panics with message: "panic: malloc: allocation too large" Defect Description: PHKL_26772: When requesting memory with interrupts enabled, size of memory requested is not checked. sw_localalloc() expects the size to be smaller than a preset limit and asserts when the requested size turns out to be larger than the limit. Resolution: Appropriately recover when memory needed is larger than the limit set in sw_localalloc, and only call sw_localalloc when requested memory is smaller than the limit. PHKL_21429: A debugging aid in the sw_alloc_proc() routine panics the system when memory is requested with interrupts disabled, BEFORE even trying to actually get memory. In systems with many processors, there are some instances where it is not possible or extremely hard to avoid this situation, even when there is plenty of memory available. Resolution: The debugging aid in the sw_alloc_proc() routine has been removed. PHKL_19992: Audit driver is running under uniprocessor emulation. Resolution: Load the driver with DRV_MP_SAFE flag to inform the WSIO framework that the device driver is MP safe and therefore, it can run safely on multiple processors at the same time. This patch only applies to multiprocessor systems but it can be installed safely on uniprocessors systems as well. audwrite() returns an incorrect count when audit is disabled. Resolution: If audit is disabled, the number of bytes written is returned. The audit record allocation algorithm is not efficient for some record types. Resolution: The audit record allocation algorithm was changed to make it more efficient with all types of audit records. SR: 4701349381 8606105707 8606133727 8606186429 Patch Files: VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libsec.a(sec_alloc.o) /usr/conf/lib/libsec.a(audit_dev.o) VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libsec.a(sec_alloc.o) /usr/conf/lib/libsec.a(audit_dev.o) what(1) Output: VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libsec.a(sec_alloc.o): $Source: kern/sec/sec_alloc.c, sysmisc, vvos_rose, r ose0273 $ $Date: 02/03/28 11:55:14 $ $Revisi on: 1.42 PATCH_11.04 (PHKL_26772) $ /usr/conf/lib/libsec.a(audit_dev.o): $Source: kern/sec/audit_dev.c, sysaudit, vvos_rose, rose0273 $ $Date: 02/03/28 11:55:06 $ $Revis ion: 1.36.1.15 PATCH_11.04 (PHKL_26772) $ VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libsec.a(sec_alloc.o): $Source: kern/sec/sec_alloc.c, sysmisc, vvos_rose, r ose0273 $ $Date: 02/03/28 11:55:14 $ $Revisi on: 1.42 PATCH_11.04 (PHKL_26772) $ /usr/conf/lib/libsec.a(audit_dev.o): $Source: kern/sec/audit_dev.c, sysaudit, vvos_rose, rose0273 $ $Date: 02/03/28 11:55:06 $ $Revis ion: 1.36.1.15 PATCH_11.04 (PHKL_26772) $ cksum(1) Output: VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: 3122093887 13440 /usr/conf/lib/libsec.a(sec_alloc.o) 989477895 18716 /usr/conf/lib/libsec.a(audit_dev.o) VirtualVaultOS.VVOS-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 3129812 38880 /usr/conf/lib/libsec.a(sec_alloc.o) 2893916137 50288 /usr/conf/lib/libsec.a(audit_dev.o) Patch Conflicts: None Patch Dependencies: s700: 11.04: PHKL_19142 s800: 11.04: PHKL_19142 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_19992 PHKL_21429 Equivalent Patches: None Patch Package Size: 160 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_26772 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_26772.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_26772. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHKL_26772.depot 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_26772.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_26772.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_26772.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_19142. For successful installation please insure that PHKL_19142 is already installed, or that PHKL_19142 is included in the same depot with this patch and PHKL_19142 is selected for installation.