Patch Name: PHNE_13584 Patch Description: s700_800 10.30 LAN products patch Creation Date: 98/02/20 Post Date: 98/02/23 Hardware Platforms - OS Releases: s700: 10.30 s800: 10.30 Products: N/A Filesets: Networking.LAN-KRN Networking.LAN-RUN Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_13584: PANIC MEMORY_LEAK Path Name: /hp-ux_patches/s700_800/10.X/PHNE_13584 Symptoms: PHNE_13584: 1. linkloop (1m) causes memory leak and panic. 2. Cannot receive FDDI packets. 3. After DL_SUBSBIND_REQ is used to bind IEEE802.2 saps (sap < 256), data is not processed correctly, and may panic the system. 4. If SNAP encapsulation is used on ethernet (e.g. /dev/snap0), files that are larger than 1492 bytes cannot be successfully transmitted out. 5. In some circumstances, ip packets cannot be transmitted on the ethernet and it appears that the network has stopped working. 6. DL_HP_MULTICAST_REQ/ACK support for drivers supporting IP level multicasting. 7. lanadmin message contains '%s' instead of actual string. 8. lanadmin command fails after sufficient changing of ppa/display commands. Defect Description: PHNE_13584: 1. Due to a defect in hp_dlpi_close/detach some amount of memory was not being freed. This was causing memory leak. Also in hp_dlpi_close/detach the driver was accessing memory which was already freed. This was causing a panic. 2. For inbound FDDI packets, dlpi routine (hp_dlpi_mblk_intr_put) wrongly checks if the address in the packet is in wire format. If the interface is set to certain MAC addresses, the inbound packets would appear to be a group address. Due to address validation failure these packets will be dropped. 3. In hp_dlpi_subs_bind(), t2_log() is called with hp_dlpi_intr() for the mblk driver, and hp_dlpi_mblk_intr() for the mbuf driver. The two calls should be exchanged. 4. When a stream bound to SNAP for ethernet, the mtu was not adjusted and remains to be 1500 (should be 1492). The TCP and IP send data based on the wrong size of mtu, which will exceed the limit which the driver can take. Due to this incomplete data will be sent and hence gets rejected at the destination. 5. In the fast path, occasionally the packet type is set incorrectly to SNAP8023_PKT or IEEE8023_PKT, due to an uninitialized variable in hp_dlpi_build_hdr(). Due to the incorrect packet type, packets will not be sent on the ethernet. 6. For drivers supporting IP level multicasting, the multicast address list is stored in a separate list. Hence dlpi should check if the driver supports IP level multicasting. If so it should return the multicast address list from this list while processing DL_HP_MULTICAST_REQ. 7. A wrong syntax in calling printf was causing %s to appear in the output string instead of the actual string. 8. dsname() function in lanadmin opens catalog file using catopen() but does not close the same on return. Hence if dsname() is called for sufficiently large number of times, number of open files will cross maxfiles limit, causing a failure in the next catopen(). SR: 1653249565 1653230078 5003375949 Patch Files: /usr/sbin/lanadmin /usr/lib/lanadmin/libdslan2.1 /usr/lib/lanadmin/libdslan3.1 /usr/conf/lib/liblan.a what(1) Output: /usr/sbin/lanadmin: lanadmin.c: PHNE_13584 $Revision: 1.1.117.10 $ $Dat e: 98/02/05 16:38:19 $ LAN: Version: B.10.30 $Date: 97/04/02 00:18:10 $ /usr/lib/lanadmin/libdslan2.1: dslan2.c: PHNE_13584 $Revision: 1.1.117.3 $ $Date: 98/02/10 10:15:34 $ /usr/lib/lanadmin/libdslan3.1: dslan3.c: PHNE_13584 $Revision: 1.1.117.3 $ $Date: 98/02/10 10:15:49 $ /usr/conf/lib/liblan.a: FILESET LAN: lib lan: Version: A.10.00 lanc.c $Revision: 1.22.102.9 $ $Date: 97/02/27 07:03 :49 $ lan_t2.c: fix close/hp_dlpi_delete_wakeup problem $R evision: 1.4.102.10 $ $Date: 97/06/27 10:53 :07 $ lan_dlpi.c: PHNE_13584 $Revision: 1.6.116.51 $Date: 97/04/18 15:33:45 $ lan3.c: $Revision: 1.11.102.13 $ $Date: 97/04/15 13 :14:00 $ lan2.c $Revision: 1.13.102.14 $ $Date: 97/01/08 20:5 3:09 $ cksum(1) Output: 114913436 73728 /usr/sbin/lanadmin 1728135484 16384 /usr/lib/lanadmin/libdslan2.1 143235910 16384 /usr/lib/lanadmin/libdslan3.1 1566944479 332688 /usr/conf/lib/liblan.a Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 490 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_13584 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_13584.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_13584.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_13584. 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_13584.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_13584.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None