Patch Name: PHKL_32542

Patch Description: s700_800 11.23 swapcontext(), gethrtime()

Creation Date: 05/01/05

Post Date: 05/01/24

Hardware Platforms - OS Releases:
	s700: 11.23
	s800: 11.23

Products: N/A

Filesets:
	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP
	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP

Automatic Reboot?: Yes

Status: General Release

Critical: No

Category Tags:
	defect_repair general_release

Path Name: /hp-ux_patches/s700_800/11.X/PHKL_32542

Symptoms:
	PHKL_32542:
	( SR:8606387015 CR:JAGaf47168 )
	The gethrtime() call can be interrupted during its
	computation. This can result in incorrect time computations.
	This has been seen very infrequently, and only on systems
	with large numbers of processors.

	PHKL_32360:
	( SR:8606379329 CR:JAGaf39578 )
	swapcontext(2) returns EFAULT on a valid address passed
	to it.

Defect Description:
	PHKL_32542:
	( SR:8606387015 CR:JAGaf47168 )
	The problem results from the current implementation of
	gethrtime(); this implementation re-enables interrupts too
	quickly, resulting in incorrect time calculations.

	Resolution:
	Disable interrupts completely during the computations in
	gethrtime().

	PHKL_32360:
	( SR:8606379329 CR:JAGaf39578 )
	If the memory address passed to swapcontext(2) has been
	paged out, swapcontext(2) returns EFAULT.

	Resolution:
	Remove probe instructions that check for access errors.

Enhancement:
	No

SR:
	8606379329 8606387015

Patch Files:
	
	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
	/usr/conf/lib/libscall-pdk.a(asm_scall.o)

	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
	/usr/conf/lib/libscall-pdk.a(lw_scall.o)

what(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
	/usr/conf/lib/libscall-pdk.a(asm_scall.o):
		asm_scall.s $Date: 2004/12/17 11:29:36 $Revision: r1
			1.23/3 PATCH_11.23 (PHKL_32542)

	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
	/usr/conf/lib/libscall-pdk.a(lw_scall.o):
		lw_scall.s $Date: 2005/01/05 14:41:19 $Revision: r11
			.23/2 PATCH_11.23 (PHKL_32542)

cksum(1) Output:
	
	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
	17246931 74584 /usr/conf/lib/libscall-pdk.a(asm_scall.o)

	OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
	531421324 18856 /usr/conf/lib/libscall-pdk.a(lw_scall.o)

Patch Conflicts: None

Patch Dependencies:
	s700: 11.23: PHKL_31500
	s800: 11.23: PHKL_31500

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHKL_32360 

Equivalent Patches: None

Patch Package Size: 40 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_32542

	5. Run swinstall to install the patch:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -s /tmp/PHKL_32542.depot

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHKL_32542.  If you do not wish to retain a
	copy of the original software, include the patch_save_files
	option in the swinstall command above:

		-x patch_save_files=false

	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 PHKL_32542.text file is 
	available in the product readme:

		swlist -l product -a readme -d @ /tmp/PHKL_32542.depot

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHKL_32542.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions: None

