Patch Name: PHNE_7749 Patch Description: s700 10.10 ARPA Transport cumulative patch Creation Date: 96/06/18 Post Date: 96/06/28 Hardware Platforms - OS Releases: s700: 10.10 Products: N/A Filesets: OS-Core.CORE-KRN Networking.NET-KRN Networking.NET-RUN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_7749: PANIC PHNE_6866: PANIC Path Name: /hp-ux_patches/s700/10.X/PHNE_7749 Symptoms: PHNE_7749: Patch PHSS_6866 can cause a system panic when Unix Domain datagram sockets are used. PHNE_6866: See Defect Description. Defect Description: PHNE_7749: ( SR number: 5003292979 ) The problem is that Unix Domain sockets that pass file access rights to each other can cause system panics with the message "Data page fault". ( SR number: 4701313866 ) Bug in source code. Found through code examination. Works accidentally. ( SR number: 4701313304 ) The current code allows one to create an arp entry on a poinnt to point interface. When the time expires on this entry,an attempt is made to build a packet by calling a procedure whose pointer should be in the arpcom table. In the point to point case, that pointer is NULL which causes a panic. ( SR not found ) System will panic if a user application requests xti message size 32K or larger. ( SR number: 1653162255 ) An MP system hangs during shutdown because a process gets stuck in soclose() forever. ( SR not found ) This problem will panic a system in sosend with data page fault error. Any user using unix domain sockets could get this crash. ( SR number: 5003315358 ) There is a panic which can occur when receiving IP multicast packets on an MP system. ( SR number: 5003316810 ) System hang and network congestion. PHNE_6866: ( SR number: 5003263541 ) ICMP 12 messages are passed to applications. some applications don't know what to do with them. ( SR not found ) UDP sockets are unable to send all 1's limited broadcasts. This directly affects DHCP, because the DHCP server then cannot reply to a DHCP request with an all 1's limited broadcast as it should. Some DHCP clients require this. ( SR number: 1653144972 ) There are cases where we can get FIN_WAIT_2 connections that never go away. We need a timer that customers can set to remove these connections. ( SR number: 5003285718 ) An ICMP Net Redirect causes a host route to be added, but the host route has a net address instead of a full IP address. ( SR number: 1653145037 ) Customer hit a panic in kernel socket code. See submitter text for detail. ( SR not found ) The problem is that a partner needs support in the BSD networking stack in order to implement a secure firewall product. They need the right hooks in our kernel. ( SR number: 4701308023 ) The problem is that the system panics upon receipt of a particular type of packet. ( SR number: 4701316315 ) A multiprocessor system can panic by holding onto a spinlock too long. ( SR number: 1653152611 ) A bad TCPOPT_MAXSEG TCP/IP option can cause a "Conditional trap" system panic. ( SR not found ) The problem is that h/netstatistic.h tries to include "../h/mib.h" which only exists in the kernel build environment. ( SR not found ) The problem is that a system panics in sbdrop(). ( SR number: 5003298554 ) The use of multiple IP addresses on the same system is partially broken. While setting up TCP connections, we fail to discriminate between sockets listening at the same port even though they use different IP addresses. This breaks Service Guard (which uses multiple IP addresses on the same interface) and some functionality of multihomed systems. This can also be seen as a bind() problem. ( SR number: 1653157289 ) The problem is that a t_snddis() call (using XTI) can fail with EADDRINUSE for no apparent reason. ( SR not found ) The problem is that a system panics in unp_gc(). This can be worked around by setting unpgc_disabled. SR: 5003263541 1653144972 5003285718 1653145037 4701308023 5003292979 4701316315 1653152611 4701313866 5003298554 4701313304 1653157289 1653162255 5003315358 5003316810 Patch Files: /usr/conf/lib/libinet.a(udp_usrreq.o) /usr/conf/lib/libinet.a(tcp_usrreq.o) /usr/conf/lib/libinet.a(tcp_timer.o) /usr/conf/lib/libinet.a(tcp_subr.o) /usr/conf/lib/libinet.a(tcp_output.o) /usr/conf/lib/libinet.a(tcp_input.o) /usr/conf/lib/libinet.a(ip_output.o) /usr/conf/lib/libinet.a(ip_input.o) /usr/conf/lib/libinet.a(ip_icmp.o) /usr/conf/lib/libinet.a(in_proto.o) /usr/conf/lib/libinet.a(in_pcb.o) /usr/conf/lib/libinet.a(in.o) /usr/conf/lib/libinet.a(if_ether.o) /usr/conf/lib/libnet.a(route.o) /usr/conf/lib/libnet.a(if.o) /usr/conf/lib/libhp-ux.a(netfunc.o) /usr/conf/lib/libuipc.a(uipc_socket2.o) /usr/conf/lib/libuipc.a(uipc_usrreq.o) /usr/conf/lib/libuipc.a(uipc_socket.o) /usr/conf/lib/libtpiso.a(xtiso.o) /usr/conf/master.d/net what(1) Output: /usr/conf/lib/libinet.a(udp_usrreq.o): PHNE_7749 udp_usrreq.c $Revision: 1.7.102.12 $ $Date : 96/05/10 17:19:21 $ /usr/conf/lib/libinet.a(tcp_usrreq.o): PHNE_7749 tcp_usrreq.c $Revision: 1.8.102.6 $ $Date: 96/03/12 18:05:40 $ /usr/conf/lib/libinet.a(tcp_timer.o): PHNE_7749 tcp_timer.c $Revision: 1.6.102.9 $ /usr/conf/lib/libinet.a(tcp_subr.o): PHNE_7749 tcp_subr.c $Revision: 1.6.102.11 $ $Date: 96/04/04 14:09:51 $ /usr/conf/lib/libinet.a(tcp_output.o): PHNE_7749 tcp_output.c $Revision: 1.6.102.3 $ $Date: 96/05/13 10:04:29 $ /usr/conf/lib/libinet.a(tcp_input.o): PHNE_7749 tcp_input.c $Revision: 1.9.102.14 $ $Date: 96/03/12 18:05:35 $ /usr/conf/lib/libinet.a(ip_output.o): PHNE_7749 ip_output.c $Revision: 1.6.102.6 $ $Date: 96/02/21 15:42:11 $ /usr/conf/lib/libinet.a(ip_input.o): PHNE_7749 ip_input.c $Revision: 1.6.102.10 $ $Date: 96/02/15 18:47:56 $ /usr/conf/lib/libinet.a(ip_icmp.o): PHNE_7749 ip_icmp.c $Revision: 1.7.102.6 $ /usr/conf/lib/libinet.a(in_proto.o): PHNE_7749 in_proto.c $Revision: 1.3.102.6 $ $Date: 9 6/02/15 18:47:54 $ /usr/conf/lib/libinet.a(in_pcb.o): PHNE_7749 in_pcb.c $Revision: 1.8.102.13 $ $Date: 96 /04/04 14:09:49 $ /usr/conf/lib/libinet.a(in.o): PHNE_7749 in.c $Revision: 1.7.102.11 $ $Date: 96/06/ 12 13:26:07 $ /usr/conf/lib/libinet.a(if_ether.o): PHNE_7749 if_ether.c $Revision: 1.8.102.12 $ /usr/conf/lib/libnet.a(route.o): PHNE_7749 route.c $Revision: 1.7.102.12 $ /usr/conf/lib/libnet.a(if.o): PHNE_7749 if.c $Revision: 1.5.102.7 $ /usr/conf/lib/libhp-ux.a(netfunc.o): PHNE_7749 netfunc.c $Revision: 1.4.102.3 $ /usr/conf/lib/libuipc.a(uipc_socket2.o): PHNE_7749 uipc_socket2.c $Revision: 1.8.102.9 $ $Dat e: 96/02/27 15:48:19 $ /usr/conf/lib/libuipc.a(uipc_usrreq.o): PHNE_7749 uipc_usrreq.c $Revision: 1.6.102.13 $ /usr/conf/lib/libuipc.a(uipc_socket.o): PHNE_7749 uipc_socket.c $Revision: 1.9.102.14 $ $Dat e: 96/04/04 14:42:27 $ /usr/conf/lib/libtpiso.a(xtiso.o): PHNE_7749 xtiso.c $Revision: 1.2.102.8 $ $Date: 96/0 3/19 10:22:56 $ /usr/conf/master.d/net: $Revision: 1.2.89.4 $ cksum(1) Output: 3080472775 1104 /usr/conf/lib/libhp-ux.a(netfunc.o) 2703435711 43236 /usr/conf/lib/libinet.a(if_ether.o) 4048199458 16288 /usr/conf/lib/libinet.a(in.o) 3007839349 14880 /usr/conf/lib/libinet.a(in_pcb.o) 1831713096 2984 /usr/conf/lib/libinet.a(in_proto.o) 1608297993 7424 /usr/conf/lib/libinet.a(ip_icmp.o) 4245288941 17536 /usr/conf/lib/libinet.a(ip_input.o) 215939692 12784 /usr/conf/lib/libinet.a(ip_output.o) 298466952 22424 /usr/conf/lib/libinet.a(tcp_input.o) 3130432339 6624 /usr/conf/lib/libinet.a(tcp_output.o) 490511066 10024 /usr/conf/lib/libinet.a(tcp_subr.o) 3853083782 15452 /usr/conf/lib/libinet.a(tcp_timer.o) 42092401 11904 /usr/conf/lib/libinet.a(tcp_usrreq.o) 588661178 15860 /usr/conf/lib/libinet.a(udp_usrreq.o) 77595670 7560 /usr/conf/lib/libnet.a(if.o) 1542517774 18004 /usr/conf/lib/libnet.a(route.o) 2829337546 61928 /usr/conf/lib/libtpiso.a(xtiso.o) 2182511229 21724 /usr/conf/lib/libuipc.a(uipc_socket.o) 3317456391 20152 /usr/conf/lib/libuipc.a(uipc_socket2.o) 531055527 13016 /usr/conf/lib/libuipc.a(uipc_usrreq.o) 1625119315 4945 /usr/conf/master.d/net Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_6866 Equivalent Patches: None Patch Package Size: 420 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 PHNE_7749 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_7749.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_7749.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. The cluster clients must be shut down as described in step 5b. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_7749. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_7749.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_7749.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None