Patch Name: PHKL_22950 Patch Description: s700 10.16 PC floppy cumulative patch Creation Date: 01/01/04 Post Date: 01/01/09 Hardware Platforms - OS Releases: s700: 10.16 Products: N/A Filesets: OS-Core.CORE-KRN BLS.BLS-CORE Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_22950: CORRUPTION Path Name: /hp-ux_patches/s700/10.X/PHKL_22950 Symptoms: PHKL_22950: Porting of 10.01 patch PHKL_22669 (PHKL_22669:) (SR: 8606167324 CR: JAGad36610) During a write to a floppy disk, the potential may exist for the floppy disk controller to incorrectly transfer the last byte of data in a sector if the computer is simultaneously experiencing activity on the I/O bus sufficient to cause a significant delay in the transfer of that byte, but no other byte. Specifically, the next to last byte could be re-written in the place of the last byte. This potential error may not be reported to the user. (PHKL_11987:) Under the right conditions of high interrupt load, the first four bytes of a 512 byte transfer could be corrupted. An unrelated change also increases the number of retries performed on read and write requests. This could help successfully read or write data on marginal or defective media. (PHKL_9007:) Geometry problem reports that media with 77 tracks has 80 tracks, but you cannot write to tracks 78, 79, and 80. The data loss with the "dd" command only occurs on newest workstations with extreme load of I/O processes. (PHKL_7612:) Silent data loss. Requires data read & compare to detect. Defect Description: PHKL_22950: Porting of 10.01 patch PHKL_22669 (PHKL_22669:) (SR: 8606167324 CR: JAGad36610) It is claimed that a design error exists in certain floppy disk controller technology that creates the potential for data corruption or data loss during the transfer of data to or from a floppy disk or tape device that utilizes a floppy disk controller. Specifically, it is alleged that this potential exists when the floppy disk controller is transferring the last byte of a sector and only if the computer is simultaneously experiencing activity on the I/O bus sufficient to cause a significant delay in the transfer of that byte, but no other byte. HP is unaware of any customer actually experiencing this error. Nevertheless, HP is offering a software patch to customers to eliminate the possibility that their computers could experience such an error. Resolution: The software patch eliminates the possibility that a HP computer could experience the error described above. HP is recommending that customers visit HP's website at http://hp.com/go/fdcpatch or you can call HP's customer Service Center at 1-800-742-9729 in order to determine if HP recommends downloading the patch. (PHKL_11987:) The data in the DMA buffer is not flushed from the data cache to memory before the dma engine fetches it. When that happens, the dma engine will fetch incorrect data from memory. This usually results in four bytes of corrupted data. The corrupted data will begin on a 512 byte boundary. An unrelated change increases the number of re-tries for read and write requests to the floppy. (PHKL_9007:) Using floppy media with 77 tracks, the ioctl commands will report 80 tracks, but you cannot write to the last tracks. The write corruption occurs on PC floppy media during loop of dd commands and pdc_model calls under heavy I/O load. The problem occurs when the floppy-disk-controller (FDC) enters unknown state during high numbers of interrupts. Problem only found under extreme load conditions on newer workstations with very fast processors. (PHKL_7612:) Access to the PDC while comparing data read and written to the floppy reproduces this data loss. May not be easily reproducible on 10.x systems, as the problem was originally found and fixed on 9.x systems. In this case, the data loss was caused by overflow of the floppy DMA buffer when its interrupts are not serviced fast enough. SR: 1653217463 1653222950 5003321364 8606167324 Patch Files: /usr/conf/lib/libhp-ux.a(pc_fdc.o) /usr/conf/lib/libhp-ux.a(pc_floppy.o) /usr/conf/wsio/pc_fdc.h /usr/conf/wsio/pc_floppy.h what(1) Output: /usr/conf/lib/libhp-ux.a(pc_fdc.o): 01/01/03 kern/wsio/pc_fdc.c, hpux, hpux_mlpmp, 10.16 -54 Revision 1.2 PATCH_10.16 (PHKL_22950) UN MODIFIED /usr/conf/lib/libhp-ux.a(pc_floppy.o): 01/01/03 kern/wsio/pc_floppy.c, hpux, hpux_mlpmp, 10 .16-54 Revision 1.2 PATCH_10.16 (PHKL_22950) /usr/conf/wsio/pc_fdc.h: $Revision: 1.2 kern/wsio/pc_fdc.h, hpux, hpux_mlpmp, 10.16-54 $ $Date: 01/01/03 20:42:55 $ Hewle tt-Packard Co. */ 01/01/03 kern/wsio/pc_fdc.h, hpux, hpux_mlpmp, 10.16 -54 Revision 1.2 PATCH_10.16 (PHKL_22950) UN MODIFIED */ pc_fdc.h: $Revision: 1.2.71.8 $ $Date: 2000/11/16 14 :46:39 $ /usr/conf/wsio/pc_floppy.h: $Revision: 1.2 kern/wsio/pc_floppy.h, hpux, hpux_mlp mp, 10.16-54 $ $Date: 01/01/03 20:42:17 $ He wlett-Packard Co. */ 01/01/03 kern/wsio/pc_floppy.h, hpux, hpux_mlpmp, 10 .16-54 Revision 1.2 PATCH_10.16 (PHKL_22950) UNMODIFIED */ pc_floppy.h: $Revision: 1.2.71.5 $ $Date: 2000/11/16 14:46:47 $ cksum(1) Output: 659921341 32028 /usr/conf/lib/libhp-ux.a(pc_fdc.o) 2152967859 24924 /usr/conf/lib/libhp-ux.a(pc_floppy.o) 268543334 11659 /usr/conf/wsio/pc_fdc.h 1444534153 4311 /usr/conf/wsio/pc_floppy.h Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHKL_22951: s800: 10.16 PHKL_22669: s700: 10.01 PHKL_22670: s800: 10.01 Patch Package Size: 140 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_22950 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_22950.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_22950. 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_22950.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_22950.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None