bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

rm -rf error message (too many levels of symbolic links instead of permi


From: Elan Ruusamäe
Subject: rm -rf error message (too many levels of symbolic links instead of permission denied error)
Date: Wed, 28 Nov 2007 01:44:31 +0200
User-agent: PLD Linux KMail/1.9.8

hi

rm -rf gives somewhat erratic error message when removing from dir which write 
permissions are not set:

address@hidden /usr/src $ uname -r
2.6.16.56-1smp
address@hidden /usr/src $ rpm -q coreutils glibc
coreutils-6.9-1
glibc-2.3.6-14

address@hidden /usr/src $ rm -rf linux-2.6.22.10_desktop
rm: cannot remove `linux-2.6.22.10_desktop/config-smp': Too many levels of 
symbolic links
rm: cannot remove `linux-2.6.22.10_desktop/config-up': Too many levels of 
symbolic links
address@hidden /usr/src $ la linux-2.6.22.10_desktop
total 0
drwxr-xr-x 2 root root 39 2007-11-06 21:23 ./
drwxr-xr-x 5 root root 81 2007-11-28 01:39 ../
lrwxrwxrwx 1 root root 11 2007-11-03 17:38 config-smp -> config-dist
lrwxrwxrwx 1 root root 11 2007-11-03 17:38 config-up -> config-dist
address@hidden /usr/src $ sudo rm -rf linux-2.6.22.10_desktop/
address@hidden /usr/src $


here's more verbose one, with strace:
address@hidden /usr/src $ la linux-2.6.22.12_desktop/
total 0
drwxr-xr-x 2 root root 23 2007-11-19 12:44 ./
drwxr-xr-x 4 root root 51 2007-11-28 01:39 ../
lrwxrwxrwx 1 root root 11 2007-11-17 12:47 config-smp -> config-dist
address@hidden /usr/src $ rm -rf linux-2.6.22.12_desktop/
rm: cannot remove `linux-2.6.22.12_desktop//config-smp': Too many levels of 
symbolic links
address@hidden /usr/src $ strace rm -rf linux-2.6.22.12_desktop/
execve("/bin/rm", ["rm", "-rf", "linux-2.6.22.12_desktop/"], [/* 43 vars */]) = 0
uname({sys="Linux", node="builder-ac", ...}) = 0
brk(0)                                  = 0x8053000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=118578, ...}) = 0
mmap2(NULL, 118578, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f32000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20Q\1\000"..., 512) = 
512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1148008, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f31000
mmap2(NULL, 1154236, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7e17000
mmap2(0xb7f2b000, 16384, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x114) = 0xb7f2b000
mmap2(0xb7f2f000, 7356, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f2f000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7e16000
mprotect(0xb7f2b000, 4096, PROT_READ)   = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e166c0, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, 
useable:1}) = 0
munmap(0xb7f32000, 118578)              = 0
brk(0)                                  = 0x8053000
brk(0x8074000)                          = 0x8074000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3616128, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7c16000
close(3)                                = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
lstat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("linux-2.6.22.12_desktop/", {st_mode=S_IFDIR|0755, st_size=23, ...}) = 0
open("linux-2.6.22.12_desktop/", 
O_RDONLY|O_NONBLOCK|O_NOCTTY|O_LARGEFILE|O_NOFOLLOW) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=23, ...}) = 0
open("/proc/self/fd", O_RDONLY|O_LARGEFILE) = 4
stat64("/proc/self/fd/4/..", {st_mode=S_IFDIR|0550, st_size=0, ...}) = 0
stat64("/proc/self", {st_mode=S_IFDIR|0550, st_size=0, ...}) = 0
close(4)                                = 0
open("/proc/self/fd/3/.", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
fstat64(4, {st_mode=S_IFDIR|0755, st_size=23, ...}) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
close(3)                                = 0
getdents64(4, /* 3 entries */, 4096)    = 80
unlink("/proc/self/fd/4/config-smp")    = -1 EACCES (Permission denied)
open(".", O_RDONLY|O_LARGEFILE)         = 3
fchdir(4)                               = 0
unlink("config-smp")                    = -1 EACCES (Permission denied)
fchdir(3)                               = 0
close(3)                                = 0
open("/proc/self/fd/4/config-smp", 
O_RDONLY|O_NONBLOCK|O_NOCTTY|O_LARGEFILE|O_NOFOLLOW) = -1 ELOOP (Too many 
levels of symbolic links)
rmdir("/proc/self/fd/4/config-smp")     = -1 EACCES (Permission denied)
open(".", O_RDONLY|O_LARGEFILE)         = 3
fchdir(4)                               = 0
rmdir("config-smp")                     = -1 EACCES (Permission denied)
fchdir(3)                               = 0
close(3)                                = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2871, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7f4e000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2871
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xb7f4e000, 4096)                = 0
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 
ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
write(2, "rm: ", 4rm: )                     = 4
write(2, "cannot remove `linux-2.6.22.12_d"..., 51cannot remove 
`linux-2.6.22.12_desktop//config-smp') = 51
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT 
(No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No 
such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such 
file or directory)
write(2, ": Too many levels of symbolic li"..., 35: Too many levels of symbolic 
links) = 35
write(2, "\n", 1
)                       = 1
getdents64(4, /* 0 entries */, 4096)    = 0
fcntl64(4, F_GETFD)                     = 0x1 (flags FD_CLOEXEC)
close(4)                                = 0
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
Process 10783 detached
address@hidden /usr/src $

-- 
glen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]