 |
≫ |
|
|
 |
パッチ名: PHCO_36661
パッチ摘要: s700_800 11.11 rm(1)累積パッチ
作成日: 07/09/07
公開日: 07/09/18
ハードウェアプラットフォームおよびOSリリース:
s700: 11.11
s800: 11.11
現象:
PHCO_36661:
(SR:8606484926 CR:JAGag37983)
ディレクトリのパーミッションが不十分なためディレクトリの削除に失敗して
も、"rm(1) -r"が成功値を返します。
問題点の説明:
PHCO_36661:
(SR:8606484926 CR:JAGag37983)
所有者の検索パーミッションが設定されていないディレクトリに対して"rm(1)
-r"を実行すると、rm(1)は、非ゼロの戻り値ではなく0の戻り値で終了してい
ました。
解決方法:
パーミッションが不十分なためディレクトリを削除できなかった場合は、終了
値2でリターンするようにrm(1)を修正しました。
-----------------------------------------------------------------------------
Patch Name: PHCO_36661
Patch Description: s700_800 11.11 rm(1) cumulative patch
Creation Date: 07/09/07
Post Date: 07/09/18
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
Automatic Reboot?: No
Status: General Release
Critical:
No (superseded patches were critical)
PHCO_32607: ABORT
Category Tags:
defect_repair general_release critical halts_system
Path Name: /hp-ux_patches/s700_800/11.X/PHCO_36661
Symptoms:
PHCO_36661:
( SR:8606484926 CR:JAGag37983 )
rm(1) -r returns success even when directory permissions
caused it to fail.
PHCO_36034:
( SR:8606426927 CR:JAGaf86408 )
rm(1) -r fails to remove directories specified with
absolute path when current working directory is unreadable.
PHCO_32607:
( SR:8606380965 CR:JAGaf41183 )
rm -r dumps core under certain circumstances.
Defect Description:
PHCO_36661:
( SR:8606484926 CR:JAGag37983 )
When rm(1) -r is issued on a directory which doesn't have
search permissions for the owner, rm(1) exits with a
return value of 0, instead of a return value of non zero.
Resolution:
rm(1) is modified to return with an exit value of 2 when
it fails to remove a directory due to insufficient
permissions.
PHCO_36034:
( SR:8606426927 CR:JAGaf86408 )
When rm(1) -r is attempted on a absolute path from a
unreadable current working directory, rm(1) aborts
and throws error message as "Cannot remove mountable
directory".
It can be reproduced as follows:-
# whoami
root
# mkdir /var/tmp/to_be_removed
# chown lp:lp /var/tmp/to_be_removed
# mkdir /var/tmp/restricted;chmod 700 /var/tmp/restricted
# cd /var/tmp/restricted; su lp
#whoami
lp
# rm -r /var/tmp/to_be_removed
rm: directory /var/tmp/to_be_removed not removed.
Cannot remove mountable directory
# ls -d /var/tmp/to_be_removed
/var/tmp/to_be_removed not found
The error message "Cannot remove mountable directory" is
misleading.
Resolution:
rm(1) is fixed to resolve the problem.
PHCO_32607:
( SR:8606380965 CR:JAGaf41183 )
When rm -r is invoked on some directory, under
certain circumstances, rm(1) dumps core. This is
happening while creating the absolute path name
of the directory to be removed. While creating
the absolute path name, the available memory space
in the buffer was being calculated incorrectly
resulting in a array bound write and core dump.
Problem Reproduction:
# cat test.sh
#!/bin/sh
cd /tmp
while read a
do
mkdir $a
/usr/bin/rm -r $a
mkdir $a
cd $a
done << !!
opt
stdenv
tetlite
vsc
tet_tmp_dir
18579aa
tset
POSIX.sdo
ar
_ga67_dir18580
0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
!!
# chmod +x test.sh
# ./test.sh
mkdir: cannot create opt: File exists
./test.sh[8]: 12269 Memory fault(coredump)
mkdir: cannot create xxxxxxxxxxxxxxxxxxxxxxxx....
File exists
Resolution:
While creating the absolute path name,
the available memory space in the buffer
is now being calculated correctly.
Enhancement:
No
SR:
8606484926 8606426927 8606380965
Patch Files:
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/bin/rm
/sbin/rm
/usr/bin/rmdir
what(1) Output:
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/bin/rm:
rm.c $Date: 2007/05/29 11:54:24 $Revision: r11.11/4
PATCH_11.11 (PHCO_36661)
$Revision: jazz @ 20070907.04:34:55PDT; jmkvw -proj
integ -RW PHCO_36661 r11.11(R11.11_BL2007_09
07_1) ;
/sbin/rm:
rm.c $Date: 2007/05/29 11:54:24 $Revision: r11.11/4
PATCH_11.11 (PHCO_36661)
$Revision: jazz @ 20070907.04:35:07PDT; jmkvw -proj
integ -RW PHCO_36661 r11.11(R11.11_BL2007_09
07_1) ;
$ Version_11.11 Jul 2 2007 07:58:40 $
/usr/bin/rmdir:
rm.c $Date: 2007/05/29 11:54:24 $Revision: r11.11/4
PATCH_11.11 (PHCO_36661)
$Revision: jazz @ 20070907.04:34:55PDT; jmkvw -proj
integ -RW PHCO_36661 r11.11(R11.11_BL2007_09
07_1) ;
cksum(1) Output:
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
1295270045 28672 /usr/bin/rm
4043289760 286720 /sbin/rm
1295270045 28672 /usr/bin/rmdir
Patch Conflicts: None
Patch Dependencies:
s700: 11.11: PHCO_29029
s800: 11.11: PHCO_29029
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHCO_36034 PHCO_32607
Equivalent Patches: None
Patch Package Size: 190 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_36661
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHCO_36661.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHCO_36661. 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 PHCO_36661.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHCO_36661.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHCO_36661.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|