Patch Name: PHKL_22701 Patch Description: s700 10.20 argv[0] passing, ptrace, core creation Creation Date: 01/02/08 Post Date: 01/02/28 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Release Critical: No (superseded patches were critical) PHKL_23171: HANG Path Name: /hp-ux_patches/s700/10.X/PHKL_22701 Symptoms: PHKL_22701: (SR: 8606163811 CR: JAGad33115) Once-setuid/setgid processes could create corefiles or be attached to with a debugger. If the process core file's size limit has been set to 0 in setrlimit(), when the process aborts, the core processing is incorrect. PHKL_17033: One symptom is that scripts ending in rsh have rsh called undesirably Example: the folling exists in the file x_rsh #!/usr/bin/ksh cd /foo echo "Hello World" The cd will not be permitted when the script is exec'd PHKL_23171: (SR: 8606172359 CR: JAGad41619) On a multi-processor system, ptrace of a process by multiple processes can fail. This can lead sometimes to process or system hangs. This defect was introduced with the patch this patch supersedes (PHKL_21431) and can only bee seen on multi-processor systems. PHKL_21431: (SR: 5003352484 CR: JAGaa11895) Debuggers attempting to work with a child process of a process already under debug fail. The failure is reported at the moment the child process to be debugged is forked. The following is an example of the error that DDE may report: "kernel internal error: Process events (fork, vfork, exit, exec) will not be reported." Defect Description: PHKL_22701: (SR: 8606163811 CR: JAGad33115) If a setuid/setgid process completely dropped privileges, it could create a core file on a subsequent abort, and could be attached to with a debugger. If the process core file's size limit has been set to 0 in setrlimit(), when the process aborts, the core processing is incoreect. Resolution: Remember that the process was once setuid/setgid, and disallow corefiles and debugger attaches. If the process core file size limit has been set to zero, don't create a core file. PHKL_17033: When an interpreter was being invoked via a shell script, the kernel was incorrectly passing in argv[0]. Instead of the interpreter name, the kernel was passing in the name of the script to the interpreter which was invoked. for example, if your script is named 'script' and has the first line #!/bin/ksh ksh should be passed in for argv[0], but instead, 'script' was being passed. PHKL_23171: (SR: 8606172359 CR: JAGad41619) Code paths exists which can leave an alpha semaphore locked on exit. Resolution: Calls to ptrace now make sure that alpha semaphores are correctly released for all code paths. PHKL_21431: (SR: 5003352484 CR: JAGaa11895) When a process under debug forks out a new child process, the debugger, if asked to do so, will also attempt to fork a new debugger for the child process. Since the PT_ATTACH for the child process occurs when the child process has not yet even run, certain variables have not yet been set and additional debugger commands fail to work properly. Resolution: In order to get the debugged child process to go through the proper path and initialize the apropriate variables, this process is now forced to go from TSSTOP to TSRUN. To accomplish this correctly, extra synchronization in the PT_ATTACH code executed by the debugger was added. This extra synchronization allows the debugged child process to complete its initialization before the debugger is allowed to continue. SR: 1653195487 5003352484 8606163811 8606172359 Patch Files: /usr/conf/lib/libhp-ux.a(kern_exec.o) /usr/conf/lib/libhp-ux.a(pm_core.o) /usr/conf/lib/libhp-ux.a(pm_prot.o) /usr/conf/lib/libhp-ux.a(pm_ptrace.o) what(1) Output: /usr/conf/lib/libhp-ux.a(kern_exec.o): kern_exec.c $Date: 2001/02/07 12:33:35 $ $Revisio n: 1.93.98.27 $ PATCH_10.20 (PHKL_22701) /usr/conf/lib/libhp-ux.a(pm_core.o): pm_core.c $Date: 2001/02/07 12:33:58 $ $Revision: 1.9.98.12 $ PATCH_10.20 (PHKL_22701) /usr/conf/lib/libhp-ux.a(pm_prot.o): pm_prot.c $Date: 2001/02/07 12:34:16 $ $Revision: 1. 5.98.6 $ PATCH_10.20 (PHKL_22701) /usr/conf/lib/libhp-ux.a(pm_ptrace.o): pm_ptrace.c $Date: 2001/02/07 12:34:30 $ $Revision: 1.6.98.28 $ PATCH_10.20 (PHKL_22701) cksum(1) Output: 797856390 17124 /usr/conf/lib/libhp-ux.a(kern_exec.o) 341467858 7040 /usr/conf/lib/libhp-ux.a(pm_core.o) 323919827 11192 /usr/conf/lib/libhp-ux.a(pm_prot.o) 247651324 16456 /usr/conf/lib/libhp-ux.a(pm_ptrace.o) Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_16750 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_17033 PHKL_21431 PHKL_23171 Equivalent Patches: PHKL_22702: s800: 10.20 PHKL_22032: s700: 11.00 Patch Package Size: 120 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_22701 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_22701.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_22701. 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_22701.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_22701.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_16750. For successful installation, please ensure that PHKL_16750 is in the same depot with this patch, or PHKL_16750 is already installed.