Hi Mike,
Yes this is still an issue, I have attached strace output for the same test
case in one run it passes and in the other it fails.
This test was run on a fc-6 machine.
[EMAIL PROTECTED] fs_perms]# uname -r
2.6.18-1.2798.fc6
[EMAIL PROTECTED] fs_perms]#
Thanks,
Praveen
-----Original Message-----
From: Mike Frysinger [mailto:[EMAIL PROTECTED]
Sent: Sunday, April 27, 2008 4:46 PM
To: [EMAIL PROTECTED]
Cc: Jeff Burke; Masatake YAMATO; Patrick Kirsch; Nate Straz; Ricardo Salveti de
Araujo; Renaud Lottiaux; [email protected]; Praveen Kandala
Subject: Re: [LTP] fs_perms tests
On Sunday 20 April 2008, Subrata Modak wrote:
> On Thu, 2008-04-17 at 10:40 -0700, Praveen Kandala wrote:
> > When using fs_perms directly instead of the wrapper script
> > "simpletest.sh" following was the result, the test fails once in 6
> > times..
> >
> > w a 200 file owned by (99/99) as user/group(99/500) PASS
> > [EMAIL PROTECTED] fs_perms]# ./fs_perms 200 99 99 99 500 w 1 w a 200
> > file owned by (99/99) as user/group(99/500) PASS [EMAIL PROTECTED]
> > fs_perms]# ./fs_perms 200 99 99 99 500 w 1 w a 200 file owned by
> > (99/99) as user/group(99/500) FAIL [EMAIL PROTECTED] fs_perms]#
> > ./fs_perms 200 99 99 99 500 w 1 w a 200 file owned by (99/99) as
> > user/group(99/500) PASS [EMAIL PROTECTED] fs_perms]# ./fs_perms 200 99
> > 99 99 500 w 1 w a 200 file owned by (99/99) as user/group(99/500)
> > PASS [EMAIL PROTECTED] fs_perms]# ./fs_perms 200 99 99 99 500 w 1 w a
> > 200 file owned by (99/99) as user/group(99/500) PASS
are you still having problems ? if so, it'd be useful to have strace's to
compare the failing case against the passing case.
-mike
[EMAIL PROTECTED] fs_perms]# strace ./fs_perms "020" "99" "99" "200" "99" "w"
"1"
execve("./fs_perms", ["./fs_perms", "020", "99", "99", "200", "99", "w", "1"],
[/* 29 vars */]) = 0
brk(0) = 0x939d000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fad000
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=145415, ...}) = 0
mmap2(NULL, 145415, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f89000
close(3) = 0
open("/lib/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\0p\320\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1577052, ...}) = 0
mmap2(0x2ff7000, 1295780, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x2ff7000
mmap2(0x312e000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x137) = 0x312e000
mmap2(0x3131000, 9636, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3131000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f88000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f886c0, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0
mprotect(0x312e000, 8192, PROT_READ) = 0
mprotect(0x55f000, 4096, PROT_READ) = 0
munmap(0xb7f89000, 145415) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD,
parent_tidptr=0xbfcbf554) = 31527
waitpid(31527, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 31527
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
chmod("test.file", 020) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
chown32("test.file", 99, 99) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7fac000
write(1, "Setting the mode of file to 16 a"..., 65Setting the mode of file to
16 and File UID to 99 and GID to 99
) = 65
write(1, "Testing with UID 200 AND GID 99 "..., 33Testing with UID 200 AND GID
99
) = 33
setresgid32(-1, 99, -1) = 0
setresuid32(-1, 200, -1) = 0
brk(0) = 0x939d000
brk(0x93be000) = 0x93be000
open("test.file", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
close(3) = 0
setresuid32(-1, 0, -1) = 0
setresgid32(-1, 0, -1) = 0
write(1, "Expected result is 1 and Real re"..., 43Expected result is 1 and Real
result is 1
) = 43
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD,
parent_tidptr=0xbfcbf574) = 31528
waitpid(31528, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 31528
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
write(1, "w a 020 file owned by (99/99) as"..., 58w a 020 file owned by (99/99)
as user/group(200/99) PASS
) = 58
exit_group(0) = ?
Process 31526 detached
[EMAIL PROTECTED] fs_perms]# strace ./fs_perms "020" "99" "99" "200" "99" "w"
"1"
execve("./fs_perms", ["./fs_perms", "020", "99", "99", "200", "99", "w", "1"],
[/* 29 vars */]) = 0
brk(0) = 0x8137000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f13000
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=145415, ...}) = 0
mmap2(NULL, 145415, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7eef000
close(3) = 0
open("/lib/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\0p\320\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1577052, ...}) = 0
mmap2(0x2ff7000, 1295780, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x2ff7000
mmap2(0x312e000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x137) = 0x312e000
mmap2(0x3131000, 9636, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3131000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7eee000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7eee6c0, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0
mprotect(0x312e000, 8192, PROT_READ) = 0
mprotect(0x55f000, 4096, PROT_READ) = 0
munmap(0xb7eef000, 145415) = 0
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD,
parent_tidptr=0xbf9f2a84) = 31594
waitpid(31594, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 31594
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
chmod("test.file", 020) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
chown32("test.file", 99, 99) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7f12000
write(1, "Setting the mode of file to 16 a"..., 65Setting the mode of file to
16 and File UID to 99 and GID to 99
) = 65
write(1, "Testing with UID 200 AND GID 99 "..., 33Testing with UID 200 AND GID
99
) = 33
setresgid32(-1, 99, -1) = 0
setresuid32(-1, 200, -1) = 0
brk(0) = 0x8137000
brk(0x8158000) = 0x8158000
open("test.file", O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EACCES (Permission denied)
setresuid32(-1, 0, -1) = 0
setresgid32(-1, 0, -1) = 0
write(1, "Expected result is 1 and Real re"..., 43Expected result is 1 and Real
result is 0
) = 43
rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD,
parent_tidptr=0xbf9f2aa4) = 31596
waitpid(31596, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 31596
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
write(1, "w a 020 file owned by (99/99) as"..., 58w a 020 file owned by (99/99)
as user/group(200/99) FAIL
) = 58
exit_group(1) = ?
Process 31593 detached
[EMAIL PROTECTED] fs_perms]#
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list