Patch Name: PHKL_30542 Patch Description: s700_800 11.11 eventport (/dev/poll) pseudo driver Creation Date: 04/03/11 Post Date: 04/03/29 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.ADMN-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP OS-Core.KERN2-RUN,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 OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_30542: PANIC Category Tags: defect_repair enhancement general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_30542 Symptoms: PHKL_30542: ( SR:8606342243 CR:JAGaf03150 ) Panic occurs during an ioctl(2) or close on an event port device. The stack traces can look like: soo_select+0x8 unp_poll_handler+0x30 so_poll_switch+0x1c evp_dp_poll+0x1d8 evp_ioctl+0xcc spec_ioctl+0xac vno_ioctl+0x98 ioctl+0x118 or so_eventreg+0x78 evp_dereg_objhdr+0x64 evp_close+0x188 call_open_close+0x28c closed+0xe4 spec_close+0x64 vn_close+0x48 vno_close+0x20 closef+0x64 PHKL_25468: ( SR:8606222220 CR:JAGad91335 ) Enhancement: /dev/poll provides an interface to the eventport driver allowing a user to synchronously monitor a specific set of conditions associated with a registered set of file descriptors. Defect Description: PHKL_30542: ( SR:8606342243 CR:JAGaf03150 ) 1) A flag in the file descriptor was used to indicate if the file descriptor is registered with an event port. This implementation cannot fully support registering a file descriptor with multiple event ports. 2) A race condition exists between registration and deregistration of a file descriptor with the same event port. This can result in the file descriptor not properly flagged to indicate its registration with the event port. Resolution: 1) The flag in the file descriptor structure is replaced by a counter to keep track of how many event ports the file descriptor is registered. 2) The new counter is always incremented (decremented) accordingly upon successful registration (deregistration). PHKL_25468: ( SR:8606222220 CR:JAGad91335 ) Poll(2) and select(2) do not scale well with a large number of file descriptors. Resolution: Use the /dev/poll semantics instead of poll(2) or select(2). Enhancement: No (superseded patches contained enhancements) PHKL_30542: Enhancements were delivered in a patch this one has superseded. Please review the Defect Description text for more information. SR: 8606222220 8606342243 Patch Files: OS-Core.ADMN-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /usr/share/man/man7.Z/poll.7 OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /sbin/init.d/evp.init /sbin/rc1.d/S450evp.init ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/include/devpoll.h OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libevp.a(evp.o) /usr/conf/lib/libevp.a(evp_util.o) OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/master.d/evp OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libevp.a(evp.o) /usr/conf/lib/libevp.a(evp_util.o) OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/master.d/evp what(1) Output: OS-Core.ADMN-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /usr/share/man/man7.Z/poll.7: None OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /sbin/init.d/evp.init: evp $Date: 2001/10/12 09:13:18 $Revision: r11.11/2 P ATCH_11.11 (PHKL_25468) /sbin/rc1.d/S450evp.init: evp $Date: 2001/10/12 09:13:18 $Revision: r11.11/2 P ATCH_11.11 (PHKL_25468) ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/include/devpoll.h: devpoll.h $Date: 2001/10/16 12:07:25 $Revision: r11. 11/1 PATCH_11.11 (PHKL_25468) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libevp.a(evp.o): evp.c $Date: 2004/03/02 22:37:00 $Revision: r11.11/2 PATCH_11.11 (PHKL_30542) /usr/conf/lib/libevp.a(evp_util.o): evp_util.c $Date: 2001/10/10 09:38:09 $Revision: r11 .11/1 PATCH_11.11 (PHKL_25468) OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/master.d/evp: evp $Date: 2001/10/10 11:20:23 $Revision: r11.11/1 P ATCH_11.11 (PHKL_25468) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libevp.a(evp.o): evp.c $Date: 2004/03/02 22:37:00 $Revision: r11.11/2 PATCH_11.11 (PHKL_30542) /usr/conf/lib/libevp.a(evp_util.o): evp_util.c $Date: 2001/10/10 09:38:09 $Revision: r11 .11/1 PATCH_11.11 (PHKL_25468) OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/master.d/evp: evp $Date: 2001/10/10 11:20:23 $Revision: r11.11/1 P ATCH_11.11 (PHKL_25468) cksum(1) Output: OS-Core.ADMN-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: 3827089825 6731 /usr/share/man/man7.Z/poll.7 OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 1163720807 641 /sbin/init.d/evp.init 1163720807 641 /sbin/rc1.d/S450evp.init ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 1710328393 1983 /usr/include/devpoll.h OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 1867606715 16988 /usr/conf/lib/libevp.a(evp.o) 788238718 10588 /usr/conf/lib/libevp.a(evp_util.o) OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 3011293244 4003 /usr/conf/master.d/evp OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 2684834997 37496 /usr/conf/lib/libevp.a(evp.o) 1627044037 26984 /usr/conf/lib/libevp.a(evp_util.o) OS-Core.KERN2-RUN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 3011293244 4003 /usr/conf/master.d/evp Patch Conflicts: None Patch Dependencies: s700: 11.11: PHKL_25582 PHKL_30541 PHNE_25084 PHNE_25642 s800: 11.11: PHKL_25582 PHKL_30541 PHNE_25084 PHNE_25642 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_25468 Equivalent Patches: None 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_30542 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_30542.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_30542. 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_30542.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_30542.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_30542.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None