Patch Name: PHKL_23337 Patch Description: s700_800 11.11 Side effect of madvise() call fixed Creation Date: 01/02/12 Post Date: 01/05/01 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_23337: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_23337 Symptoms: PHKL_23337: ( SR:8606164210 CR:JAGad33510 ) There are a couple of ways in which this problem might manifest itself. All of them will be panics, with the following stack traces: Panic 1: 11.11 1009_2208: panic mp_b_sema_asleep: blocking on a semaphore owned Stack trace of event 0: stack trace for event 0 crash event was a panic panic+0x14 _mp_b_sema_sleep+0x284 b_psema+0x224 vaslockpages+0x248 vx_memlock+0xcc vx_dio_iovec+0x178 vx_dio_rdwri+0x1b4 vx_write1+0x564 vx_rdwr+0x168 vno_rw+0xa4 rwuio+0x13c aio_rw_child_thread+0x22c kthread_daemon_startup+0x24 kthread_daemon_startup+0x0 panic+0x14 Panic 2: 11.11 0921_1145: assert failed: (lock_read: lock already owned) Stack trace of event 0: stack trace for event 0 crash event was a panic panic+0x14 assfail+0x3c _assfail+0x2c lock_read+0x590 vfault+0x26c trap+0x137c nokgdb+0x8 accwriteloop+0x0 check_beta+0x44 b_psema+0x2c vaslockpages+0x248 vx_memlock+0xcc vx_dio_iovec+0x178 vx_dio_rdwri+0x1b4 vx_write1+0x564 vx_rdwr+0x168 vno_rw+0xa4 rwuio+0x13c aio_rw_child_thread+0x22c kthread_daemon_startup+0x24 kthread_daemon_startup+0x0 check_beta+0x44 Panic 3: 11.11 1031_1420: assertion failed (lock_read: lock already owned) Stack trace of event 0: stack trace for event 0 crash event was a panic panic+0x6c assfail+0x3c _assfail+0x2c lock_read+0x5bc vfault+0x26c trap+0x13c4 nokgdb+0x8 accwriteloop+0x0 check_beta+0x44 b_psema+0x2c vaslockpages+0x248 vx_memlock+0xcc vx_dio_iovec+0x178 vx_dio_rdwri+0x1b4 vx_write1+0x564 vx_rdwr+0x168 vno_rw+0xa4 rwuio+0x13c aio_rw_child_thread+0x22c kthread_daemon_startup+0x24 kthread_daemon_startup+0x0 check_beta+0x44 Defect Description: PHKL_23337: ( SR:8606164210 CR:JAGad33510 ) This defect uncovered a very rare and also a corner case of madvise() implementation. The user program() using madvise(), has to be synchronized in a very bad way to hit this corner case. One example is: the user program is deleting a shared memory mapped file, with no concern for others who are sharing the same file. Resolution: If a shared file is deleted, then we have incorporated a way in which the other users of the shared file also get this information aboyt the change in file status. SR: 8606164210 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_misc.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libvm.a(vm_misc.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_misc.o): vm_misc.c $Date: 2001/02/06 22:12:50 $Revision: r11. 11/1 PATCH_11.11 (PHKL_23337) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libvm.a(vm_misc.o): vm_misc.c $Date: 2001/02/06 22:12:50 $Revision: r11. 11/1 PATCH_11.11 (PHKL_23337) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 1412606154 12736 /usr/conf/lib/libvm.a(vm_misc.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 68742781 26240 /usr/conf/lib/libvm.a(vm_misc.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None 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_23337 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_23337.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_23337. 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_23337.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_23337.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_23337.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_23337.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None