 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHKL_28488
Patch Description: s700_800 11.00 copyin EFAULT, LDCD access type
Creation Date: 03/01/15
Post Date: 03/02/18
Hardware Platforms - OS Releases:
s700: 11.00
s800: 11.00
Products: N/A
Filesets:
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP
Automatic Reboot?: Yes
Status: General Release
Critical:
Yes
PHKL_28488: HANG
PHKL_24005: OTHER
application sees EFAULT even while using a valid
address.
Category Tags:
defect_repair general_release critical halts_system
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_28488
Symptoms:
PHKL_28488:
( SR:8606287496 CR:JAGae51435 )
A 64bit application calling fork() may experience an
interruptible hang.
PHKL_24005:
( SR: 8606157079 CR:JAGad26413)
System returns Bad address (EFAULT) even when the
application supplied a valid address.
Defect Description:
PHKL_28488:
( SR:8606287496 CR:JAGae51435 )
If the first access to a copy on write page after a fork()
is an LDCD (load and clear double) instruction, when
resolving the protection (access) fault, the access type
is incorrectly determined to be a READ instead of a WRITE,
thus resulting in a recursive protection fault and
interruptible process hang.
Resolution:
Updated the access type checking routines to correctly
return WRITE for LDCD instructions.
PHKL_24005:
( SR: 8606157079 CR:JAGad26413)
The system checks the access rights for the page twice
before copying a page in memory. The second check is
done if the page was not already in memory and was
brought in by a fault. This second check can fail
under a race condition.
Resolution:
The solution is not to check the access rights again if
the fault is resolved - resolving the fault ensures that
the page is in memory with proper access rights.
Enhancement:
No
SR:
8606157079 8606287496
Patch Files:
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
/usr/conf/lib/libhp-ux.a(vm_mapcall.o)
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
/usr/conf/lib/libhp-ux.a(vm_mapcall.o)
what(1) Output:
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
/usr/conf/lib/libhp-ux.a(vm_mapcall.o):
vm_mapcall.c $Date: 2003/01/06 08:21:25 $Revision: r
11ros/4 PATCH_11.00 (PHKL_28488)
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
/usr/conf/lib/libhp-ux.a(vm_mapcall.o):
vm_mapcall.c $Date: 2003/01/06 08:21:25 $Revision: r
11ros/4 PATCH_11.00 (PHKL_28488)
cksum(1) Output:
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
1540202931 9380 /usr/conf/lib/libhp-ux.a(vm_mapcall.o)
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
1973053988 28152 /usr/conf/lib/libhp-ux.a(vm_mapcall.o)
Patch Conflicts: None
Patch Dependencies:
s700: 11.00: PHKL_18543
s800: 11.00: PHKL_18543
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHKL_24005
Equivalent Patches: None
Patch Package Size: 60 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_28488
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_28488.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_28488. 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_28488.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_28488.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_28488.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|