Patch Name: PHNE_9098 Patch Description: s700 10.20 ARPA Transport cumulative patch Creation Date: 96/12/19 Post Date: 96/12/26 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Networking.NET-KRN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_9098: PANIC PHNE_9036: PANIC Path Name: /hp-ux_patches/s700/10.X/PHNE_9098 Symptoms: PHNE_9098: See Defect Description PHNE_9036: See Defect Description Defect Description: PHNE_9098: ( SR number: 5000710814 ) An ENXIO error is presently passed from the transport layer up to the application error as a "hard", or irrecoverable error. It is left up to the application to decide how to handle this situation. This is incorrect, because ENXIO is generated by the driver(s) in situations which *may* be recoverable, such as the imfamous 82596 LAN chip error. The user will see applications fail with a connection failure error which may be accompanied by a log message from the driver indicating that some sort of hardware error has occurred. ( SR number: 4701313866 ) Bug in source code. Found through code examination. Works accidentally. ( SR not found ) In Davis, in threaded environment, Unp_externalize() can no longer depend on file descriptor state being the same because another thread of the same process can change things. ( SR number: 5003316810 ) System hang and network congestion. ( SR number: 5003318543 ) Memory leak when IPPROTO_TCP setsockopt() done on closed socket. ( SR not found ) netstat improperly displays the interface field for clan0. ( SR not found ) Add protocol switch entries for Raptor. ( SR number: 1653175810 ) icpm packet rerouting to 255.255.255.255 causes system hang on UP and panic on MP. ( SR not found ) For a SYN, when the socket is not found in the listen queue, we search the whole list. This takes too long. It causes performance degradation in netscape. (e.g.The above may happen when a service not started). ( SR number: 1653176644 ) Panic calling audit_send_dgram (). ( SR number: 5003327973 ) Data was put in the socket buffer before calling tcp to send it out. If tcp gets an error from the interface which may be transient, tcp returns the error to the application. If the application attempts to resend the data instead of exiting, a potential data corruption situation can occur. ( SR number: 5003326199 ) K400; 10.01; running ServiceGuard. System panics with doing a ping to a floating ip address of a package that is being shutdown. ( SR not found ) The code does not ensure that there is always space left for '\0' for the case when unit number > 9. ( SR not found ) The default for listen queue has been increased from 20 to 4K. ( SR not found ) max value of 20 for listen queue is inadequte for a number of applications. ( SR not found ) In tcp_close, we tie up the locks too long since we do a forward search to determine whether an inpcb belong to the hash list or not. ( SR not found ) Using Fibre Channel driver, with Service Guard caused a memory leak resultin in a hang. ( SR number: 4701333427 ) Possible panic in tcp_ctloutput() due to inproper locking and unlocking of inp. ( SR number: 5000716316 ) System hung when doing a second connect() on the same socket. ( SR number: 1653182782 ) Fast retransmission not activated after three duplicate ACK if window scaling is on (RFC 1323). ( SR number: 4701335596 ) A syn attack can result in Denial Of Service (DOS) to legitimate users. ( SR number: 1653184861 ) Customers in 9.x can tune sb_max, but cannot do it in 10.x. ( SR not found ) IPTOS_PREC_ROUTINE was defined as 0x10. That means the LOW DELAY bit in the type of service field is also set. This makes it difficult to assign "Routine" precedence with "Normal delay". ( SR number: 4701339044 ) Panic in sounlock. ( SR number: 1653189852 ) Directed Broadcast to a different network fails. ( SR number: 5003345215 ) Multicast addresses don't transfer over to the new interface during switchover. PHNE_9036: ( SR number: 5003342071 ) ping can cause panic. SR: 5000710814 4701313866 5003316810 5003318543 1653175810 1653176644 5003327973 5003326199 4701333427 5000716316 1653182782 4701335596 1653184861 5003342071 4701339044 1653189852 5003345215 Patch Files: /usr/conf/lib/libinet.a(tcp_usrreq.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/libhp-ux.a(nm_tune.o) /usr/conf/lib/libinet.a(ip_output.o) /usr/conf/lib/libinet.a(ip_input.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/libuipc.a(netisr.o) /usr/conf/lib/libhp-ux.a(dgram_aud.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/libuipc.a(uipc_syscall.o) what(1) Output: /usr/conf/lib/libinet.a(tcp_usrreq.o): PHNE_9098 tcp_usrreq.c $Revision: 1.10.112.10 $ $Dat e: 96/09/26 17:38:04 $ /usr/conf/lib/libinet.a(tcp_subr.o): PHNE_9098 tcp_subr.c $Revision: 1.8.112.7 $ $Date: 9 6/08/07 16:32:44 $ /usr/conf/lib/libinet.a(tcp_output.o): PHNE_9098 tcp_output.c $Revision: 1.6.112.4 $ $Date: 96/08/16 12:09:01 $ /usr/conf/lib/libinet.a(tcp_input.o): PHNE_9098 tcp_input.c $Revision: 1.11.112.13 $ $Date : 96/11/27 11:14:16 $ /usr/conf/lib/libhp-ux.a(nm_tune.o): PHNE_9098 nm_tune.c $Revision: 1.3.112.4 $ /usr/conf/lib/libinet.a(ip_output.o): PHNE_9098 ip_output.c $Revision: 1.7.112.6 $ $Date: 96/11/05 15:13:12 $ /usr/conf/lib/libinet.a(ip_input.o): PHNE_9098 ip_input.c $Revision: 1.8.112.6 $ $Date: 9 6/10/31 11:46:55 $ /usr/conf/lib/libinet.a(in_proto.o): PHNE_9098 in_proto.c $Revision: 1.4.112.4 $ $Date: 9 6/08/19 18:40:49 $ /usr/conf/lib/libinet.a(in_pcb.o): PHNE_9098 in_pcb.c $Revision: 1.10.112.8 $ $Date: 96 /12/17 18:35:49 $ /usr/conf/lib/libinet.a(in.o): PHNE_9098 in.c $Revision: 1.9.112.8 $ $Date: 96/12/0 4 17:59:51 $ /usr/conf/lib/libinet.a(if_ether.o): PHNE_9098 if_ether.c $Revision: 1.10.112.8 $ /usr/conf/lib/libnet.a(route.o): PHNE_9098 route.c $Revision: 1.8.112.7 $ /usr/conf/lib/libuipc.a(netisr.o): PHNE_9098 netisr.c $Revision: 1.12.112.6 $ /usr/conf/lib/libhp-ux.a(dgram_aud.o): PHNE_9098 dgram_aud.c $Revision: 1.3.112.2 $ $Date: 96/08/02 20:37:56 $ /usr/conf/lib/libuipc.a(uipc_socket2.o): PHNE_9098 uipc_socket2.c $Revision: 1.10.112.8 $ $Da te: 96/12/16 18:32:48 $ /usr/conf/lib/libuipc.a(uipc_usrreq.o): PHNE_9098 uipc_usrreq.c $Revision: 1.8.112.4 $ /usr/conf/lib/libuipc.a(uipc_socket.o): PHNE_9098 uipc_socket.c $Revision: 1.11.112.9 $ $Dat e: 96/12/16 10:44:29 $ /usr/conf/lib/libuipc.a(uipc_syscall.o): PHNE_9098 uipc_syscall.c $Revision: 1.10.112.4 $ $Da te: 96/12/16 10:45:36 $ cksum(1) Output: 4249450247 11732 /usr/conf/lib/libinet.a(tcp_usrreq.o) 39690409 10116 /usr/conf/lib/libinet.a(tcp_subr.o) 443947717 7504 /usr/conf/lib/libinet.a(tcp_output.o) 4047684421 20928 /usr/conf/lib/libinet.a(tcp_input.o) 2049646077 9460 /usr/conf/lib/libhp-ux.a(nm_tune.o) 760675487 12424 /usr/conf/lib/libinet.a(ip_output.o) 1767550931 17288 /usr/conf/lib/libinet.a(ip_input.o) 4052533031 3184 /usr/conf/lib/libinet.a(in_proto.o) 3558067463 16272 /usr/conf/lib/libinet.a(in_pcb.o) 3332171219 15812 /usr/conf/lib/libinet.a(in.o) 2877761768 45468 /usr/conf/lib/libinet.a(if_ether.o) 67966141 17900 /usr/conf/lib/libnet.a(route.o) 2938008677 8848 /usr/conf/lib/libuipc.a(netisr.o) 2082735019 2504 /usr/conf/lib/libhp-ux.a(dgram_aud.o) 3230467247 21456 /usr/conf/lib/libuipc.a(uipc_socket2.o) 4132801427 12988 /usr/conf/lib/libuipc.a(uipc_usrreq.o) 1979277031 21240 /usr/conf/lib/libuipc.a(uipc_socket.o) 2382204816 17108 /usr/conf/lib/libuipc.a(uipc_syscall.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_9036 Equivalent Patches: None Patch Package Size: 340 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_9098 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_9098.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_9098.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. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_9098. 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_9098.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_9098.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None