Patch Name: PHCO_25063 Patch Description: s700_800 11.04 (VVOS) DLKM configuration tools cumulative Creation Date: 01/09/24 Post Date: 01/10/04 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHCO_25063: PANIC Based on HP-UX Patch PHCO_22899: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHCO_25063 Symptoms: PHCO_25063: Repackage HP-UX patch PHCO_22899 for VVOS. Based on HP-UX patch PHCO_22899: ( SR:8606170324 CR:JAGad39588 ) DLKM developer's system may panic if 16-byte data alignment is crucial (such as in locks) in a DLKM. End-user customers and system administrators will never see this problem. Developers will encounter this problem only if the module is using non-default alignment. We are releasing this patch specifically for DLKM driver developers. ( SR:8606157299 CR:JAGad26631 ) This is an obscure problem that a customer will not encounter. The problem is that a 32-bit DLKM module converted from SOM to ELF will end up with corrupted debugging information. So developers of kernel debugger tools may encounter this problem when developing for support of DLKM for 32-bit systems. To get this far, the developer needs to hex edit the ELF file and change a byte or two. This is ABSOLUTELY NOT CUSTOMER VISIBLE. It is being released to satisfy a development partner. PHCO_19498: Repackage base HP-UX patch PHCO_18184 for VVOS. Based on HP-UX patch PHCO_18184: som2elf exits with code 8 during config of a module built with -g Some 32-bit DLKM modules, when converted from SOM object file format to ELF, may exit with "*** Error code 8" during the "config" process. A second problem is that some DLKM modules compiled with debugging information cannot be loaded. Som2elf was also creating incorrect debugging information in the .rela.debug_gntt and .rela.debug_lntt sections. Based on HP-UX patch PHCO_17441: Some 32-bit DLKM modules, when converted from SOM object file format to ELF, may cause a system panic when the module is loaded. Some 32-bit DLKM modules, when converted from SOM object file format to ELF, may have a corrupted unwind table in the ELF object file. Based on HP-UX patch PHCO_14664: Some large modules fail to load with the following error message: "Overrun of module DLT or long branch stub table for module." Defect Description: PHCO_25063: Repackage HP-UX patch PHCO_22899 to VVOS. Based on HP-UX patch PHCO_22899: ( SR:8606170324 CR:JAGad39588 ) Alignment specified for data in a SOM object file is not honored by som2elf during the conversion to ELF64. This was noticed by using #pragma align 16 to specify 16-byte alignment for lock_t in a 32-bit driver. Som2elf converted it with an 8-byte alignment, and the code panicked when the locking code detected the incorrect alignment. Resolution: The solution is to track the specified alignment in each SOM data subspace and use the largest value. ( SR:8606157299 CR:JAGad26631 ) 32-bit SOM debugging information is not transferred properly to the ELF64 object by som2elf during conversion. Resolution: Fixed by adjusting the copying of debugging information from the SOM file. PHCO_19498: Repackage base HP-UX patch PHCO_18184 to VVOS. Based on HP-UX patch PHCO_18184: Three problems are fixed: Some 32-bit DLKM modules, when converted from SOM object file format to ELF, may exit with "*** Error code 8" during the "config" process. Som2elf aborts while "processing/translating" the debugging information from the SOM object file format to the ELF object file format. Since the module was compiled with the -g, debugging information is generated in the SOM object (for later use by debuggers). A second problem is that some DLKM modules compiled with debugging information cannot be loaded. The module has symbol tables with related debugging information in the tables. When these tables were converted from SOM format to ELF format, the ELF sections are incorrect. The loader fails when checking these invalid sections in the symbol tables. The third problem is that Som2elf was also creating incorrect debugging information in the .rela.debug_gntt and .rela.debug_lntt sections. Resolution: For problem one the codes were changed to create debugging contents and relocation information contents at the same number. For the second problem a call to the function that modifies the symbol table was inserted. For the third problem the length of the relocation contents was incorrect and has been changed to calculate the correct length. Based on HP-UX patch PHCO_17441: Some 32-bit DLKM modules may cause a system panic when the module is loaded. The following conditions only apply to 32-bit SOM relocatable object files that are converted to the ELF object format with the following conditions: 1) the module has read-only data of double word in the SOM relocatable object file format OR 2) The SOM relocatable object file format has more than 255 subspaces. The unwind table of an ELF module, that was converted from SOM to ELF, may be incorrect. This leads to problems when trying to use some tools on the module. Resolution: The alignment of read-only data of double word and the handling of subspaces was corrected. The addresses in the unwind section of the ELF module was fixed to be monotonically increasing with no overlaps. Based on HP-UX patch PHCO_14664: Some large modules fail to load because the Long Branch Stubs table overflows, corrupting kernel memory. SR: 8606170324 8606157299 4701422394 4701413849 Patch Files: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/sbin/kmchsnm /usr/sbin/kmsecgen /usr/sbin/som2elf what(1) Output: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/sbin/kmchsnm: $Revision: 82.13.1.1 $ PATCH_11_00: kmchsnm.o 99/04/14 OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/sbin/kmsecgen: $Revision: 82.15.1.1 $ PATCH_11_00: kmsecgen.o 99/04/14 OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/sbin/som2elf: None cksum(1) Output: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 2025494416 28672 /usr/sbin/kmchsnm OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 884312865 24576 /usr/sbin/kmsecgen OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 1183426929 98304 /usr/sbin/som2elf Patch Conflicts: None Patch Dependencies: s700: 11.04: PHKL_19142 s800: 11.04: PHKL_19142 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_19498 Equivalent Patches: PHCO_22899: s700: 11.00 s800: 11.00 Patch Package Size: 170 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 PHCO_25063 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_25063.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_25063. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHCO_25063.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHCO_25063.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_25063.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_25063.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None