 |
≫ |
|
|
 |
パッチ名: PHCO_36034
パッチ摘要: s700_800 11.11 rm(1)累積パッチ
作成日: 07/04/24
公開日: 07/05/01
ハードウェアプラットフォームおよびOSリリース:
s700: 11.11
s800: 11.11
現象:
PHCO_36034:
(SR:8606426927 CR:JAGaf86408)
現在のワークディレクトリが読み取り不能な場合、"rm(1) -r"が、絶対パスで
指定されたディレクトリを削除できません。
問題点の説明:
PHCO_36034:
(SR:8606426927 CR:JAGaf86408)
現在のワークディレクトリが読み取り不能な場合、その絶対パスに対して
"rm(1) -r"を実行しようとすると、rm(1)が異常終了し、"Cannot remove
mountable directory"というエラーメッセージが表示されていました。
問題の再現手順:
# 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
このように、"Cannot remove mountable directory"という紛らわしいエラー
メッセージが表示されます。
解決方法:
rm(1)を修正しました。
-----------------------------------------------------------------------------
Patch Name: PHCO_36034
Patch Description: s700_800 11.11 rm(1) cumulative patch
Creation Date: 07/04/24
Post Date: 07/05/01
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_36034
Symptoms:
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_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:
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/03/02 09:44:05 $Revision: r11.11/2
PATCH_11.11 (PHCO_36034)
$Revision: jazz @ 20070424.23:25:35PDT; jmkvw -proj
integ -RW PHCO_36034 r11.11(R11.11_BL2007_04
24_4) ;
/sbin/rm:
rm.c $Date: 2007/03/02 09:44:05 $Revision: r11.11/2
PATCH_11.11 (PHCO_36034)
$Revision: jazz @ 20070424.23:25:40PDT; jmkvw -proj
integ -RW PHCO_36034 r11.11(R11.11_BL2007_04
24_4) ;
$ Version_11.11 Mar 20 2007 11:17:56 $
/usr/bin/rmdir:
rm.c $Date: 2007/03/02 09:44:05 $Revision: r11.11/2
PATCH_11.11 (PHCO_36034)
$Revision: jazz @ 20070424.23:25:35PDT; jmkvw -proj
integ -RW PHCO_36034 r11.11(R11.11_BL2007_04
24_4) ;
cksum(1) Output:
OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
1366115644 28672 /usr/bin/rm
30943061 286720 /sbin/rm
1366115644 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_32607
Equivalent Patches:
PHCO_35369:
s700: 11.23
s800: 11.23
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_36034
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHCO_36034.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHCO_36034. 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_36034.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHCO_36034.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHCO_36034.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|