TITLE: TCP SACK Panics Copyright (c) Hewlett-Packard Company 2006. All rights reserved. PRODUCT: HP Tru64 UNIX [R] V5.1A SOURCE: Hewlett-Packard Company ECO INFORMATION: ECO Name: T64KIT1000536-V51AB24-E-20060418 ECO Kit Approximate Size: 3.73MB Kit Applies To: HP Tru64 UNIX V5.1A PK6 (BL24) ECO Kit CHECKSUMS: /usr/bin/sum results: 11002 3820 /usr/bin/cksum results: 3081514182 3911680 MD5 results: 8b02c7948db60c9e3fa2c4ac0f3a3581 SHA1 results: 5d56b17c1516bcc4d09b2c1d81a8583e54b232d0 ECO KIT SUMMARY: A dupatch-based, Early Release Patch kit exists for HP Tru64 UNIX V5.1A that contains solutions to the following problem(s): Systems running with TCP Selective Acknowledgement enabled are susceptible to two different panics. The description of the panics follows: PANIC: "m_copym sanity" 0 boot src/kernel/arch/alpha/machdep.c 1 panic src/kernel/bsd/subr_prf.c 2 event_timeout src/kernel/arch/alpha/cpu.c 3 pmap_update_send src/kernel/arch/alpha/pmap_update.c 4 pmap_tbsync src/kernel/arch/alpha/pmap.c 5 pmap_copy_on_write src/kernel/arch/alpha/pmap.c 6 pmap_page_protect src/kernel/arch/alpha/pmap.c 7 ubc_flush_dirty_age src/kernel/vfs/vfs_ubc.c 8 ubc_flush_dirty src/kernel/vfs/vfs_ubc.c 9 mntflushbuf src/kernel/vfs/vfs_bio.c 10 boot src/kernel/arch/alpha/machdep.c 11 panic src/kernel/bsd/subr_prf.c 12 m_copym src/kernel/bsd/uipc_mbuf.c 13 tcp_output src/kernel/netinet/tcp_output.c 14 tcp_input src/kernel/netinet/tcp_input.c 15 ipintr src/kernel/netinet/ip_input.c 16 netisr_thread src/kernel/net/netisr.c This panic occurs because the tcp_sack_field in the tcpcb is not updated properly. This can manifest itself in two ways: sack_index is not reset whenever the number of entries in the sack is zero tcp_sack_clean_list is not called when a packet does not contain the sack entries in the tcp header option. When this occurs, header prediction succeeds and goes for the tcp_output without updating the sack entries. PANIC: "Unaligned kernel space access from kernel mode" 0 stop_secondary_cpu src/kernel/arch/alpha/cpu.c 1 panic src/kernel/bsd/subr_prf.c 2 event_timeout src/kernel/arch/alpha/cpu.c 3 xcpu_puts src/kernel/bsd/subr_prf.c 4 printf src/kernel/bsd/subr_prf.c 5 panic src/kernel/bsd/subr_prf.c 6 afault_trap src/kernel/arch/alpha/trap.c 7 _XentUna src/kernel/arch/alpha/locore.s 8 tcp_dooptions src/kernel/netinet/tcp_input.c 9 tcp_input src/kernel/netinet/tcp_input.c 10 ipintr src/kernel/netinet/ip_input.c 11 netisr_thread src/kernel/net/netisr.c This panic occurs because the sack option does not need to be aligned with a 4 byte boundary. When the receiver assumes alignment on a 4 byte boundary and tries to read it as a 4 byte word, the system panics. The Patch Kit Installation Instructions and the Patch Summary and Release Notes documents provide patch kit installation and removal instructions and a summary of each patch. Please read these documents prior to installing patches on your system. The patches in this ERP kit will also be available in the next mainstream patch kit - HP Tru64 UNIX V5.1B-4. INSTALLATION NOTES: 1) Install this kit with the dupatch utility that is included in the patch kit. You may need to baseline your system if you have manually changed system files on your system. The dupatch utility provides the baselining capability. 2) The patch in this ERP kit does not have any file intersections with any other ERP available at this time for this product version. 3) This ERP kit will NOT install over any Customer Specific Patches (CSPs) which have file intersections with this ERP kit. Contact your normal Service Provider for assistance if the installation of this ERP kit is blocked by any of your installed CSPs. INSTALLATION PREREQUISITES: You must have installed HP Tru64 UNIX V5.1A PK6 (BL24) prior to installing this Early Release Patch Kit. SUPERSEDE INFORMATION: None KNOWN PROBLEMS WITH THE PATCH KIT: None. RELEASE NOTES FOR T64KIT1000536-V51AB24-E-20060418: Release Notes This document summarizes the contents and special instructions for the Tru64 UNIX V5.1A patches contained in this kit. For information about installing or removing patches, baselining, and general patch management, see the Patch Kit Installation Instructions document. 1 Release Notes This Early Release Patch Kit Distribution contains: - fixes that resolve the problem(s) reported in: o 19210 * for Tru64 UNIX V5.1A T64V51AB24AS0006-20031031.tar (BL24) This kit includes a patch which requires system reboot. The patches in this kit are being released early for general customer use. Refer to the Release Notes for a summary of each patch and installation prerequisites. Patches in this kit are installed by running dupatch from the directory in which the kit was untarred. For example, as root on the target system: > mkdir -p /tmp/CSPkit1 > cd /tmp/CSPkit1 > > tar -xpvf DUV40D13-C0044900-1285-20000328.tar > cd patch_kit > ./dupatch 2 Special Instructions SPECIAL INSTRUCTIONS for Tru64 UNIX V5.1A Patch C1737.03 3 Summary of CSPatches contained in this kit Tru64 UNIX V5.1A PatchId Summary Of Fix ---------------------------------------- C1737.03 Patch for unaligned KMA & mcopy_m sanity 4 Additional information from Engineering None 5 Affected system files This patch delivers the following files: Tru64 UNIX V5.1A Patch C1737.03 ./sys/BINARY/inet.mod CHECKSUM: 62358 538 SUBSET: OSFBIN520 ./sys/BINARY/ipv6.mod CHECKSUM: 34496 114 SUBSET: OSFBIN520 ./sys/BINARY/net.mod CHECKSUM: 29951 302 SUBSET: OSFBIN520 ./usr/sys/include/netinet/proto_inet.h CHECKSUM: 45857 14 SUBSET: OSFBINCOM520 ./usr/sys/include/netinet/tcp_var.h CHECKSUM: 11161 16 SUBSET: OSFBINCOM520 [R] UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Limited. Copyright Hewlett-Packard Company 2006. All Rights reserved. This software is proprietary to and embodies the confidential technology of Hewlett-Packard Company. Possession, use, or copying of this software and media is authorized only pursuant to a valid written license from Hewlett-Packard or an authorized sublicensor. This ECO has not been through an exhaustive field test process. Due to the experimental stage of this ECO/workaround, Hewlett-Packard makes no representations regarding its use or performance. The customer shall have the sole responsibility for adequate protection and back-up data used in conjunction with this ECO/workaround.