Patch Name: PHKL_8687 Patch Description: s700 10.01 Corruption with FDDI and Panic reading /dev/mem Creation Date: 96/09/28 Post Date: 96/10/02 Hardware Platforms - OS Releases: s700: 10.01 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_8687: PANIC PHKL_6872: PANIC CORRUPTION Path Name: /hp-ux_patches/s700/10.X/PHKL_8687 Symptoms: PHKL_8687: Panic (data page fault) on MP systems when reading from /dev/mem; a typical kernel stack trace would be: trap type 15, pcsq.pcoq = 0.1cedc8, isr.ior = 0.0 panic: Data page fault spinunlock_usav+0x14 pdpfnv+0xc0 p2v_v2p+0xa8 mmrw+0x2e8 mm_read+0x10 spec_rdwr+0x128 vno_rw+0x64 rwuio+0xa0 read+0x54 syscall+0x1f4 PHKL_6872: Data corruption with FDDI on systems with hardware TLB-miss handlers. The known symptoms are user data corruption (as with Oracle ORA-00600 error 3339) and file-system panics. These symptoms were seen on systems used as NFS Servers. Hardware TLB-miss handlers are available on PA7100, PA7100LC and PA7200 PA-RISC processors. For a list of system models, see the file /usr/lib/sched.models. Defect Description: PHKL_8687: This was an MP race condition where the memory driver could reference a page while its translation was getting removed. This resulted in calling spinunlock_usav() with a NULL pointer. PHKL_6872: The NIO-FDDI card has the ability to split header and data on inbound packets. This allows the DMA-transfer for the data to take place into page-aligned buffers, which allows remapping of virtual pages as an alternative to a memory-to- memory copy. The page remapping is actually implemented as a page exchange, but the low-level VM routine providing page exchange support had a serious defect causing systems with hardware TLB-miss handlers to end up with valid data cache lines from pages not properly marked as accessed. Flushing the data cache would then not invalidate the cache lines as expected and the data cache would be left with stale data, possibly causing data corruption. Although the defect was initially found on systems with NIO-FDDI, the S700 "Built-in" FDDI card has the same header and data split feature, therefore S700 systems with FDDI are also impacted by the defect. SR: 1653185652 4701315457 Patch Files: /usr/conf/lib/libhp-ux.a(vm_pdir.o) what(1) Output: /usr/conf/lib/libhp-ux.a(vm_pdir.o): vm_pdir.c $Date: 96/09/28 13:30:49 $ $Revision: 1.11.72.10 $ PATCH_10.01 (PHKL_8687) cksum(1) Output: 2022341469 18968 /usr/conf/lib/libhp-ux.a(vm_pdir.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_6872 Equivalent Patches: PHKL_8688: s800: 10.01 Patch Package Size: 80 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_8687 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_8687.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/PHKL_8687.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/PHKL_8687. 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 PHKL_8687.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/PHKL_8687.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None