* [LTP] [PATCH] fchmod05: fix to the group ownership and the effective user
@ 2009-06-11 4:19 Wei Yongjun
2009-06-15 19:16 ` Subrata Modak
0 siblings, 1 reply; 2+ messages in thread
From: Wei Yongjun @ 2009-06-11 4:19 UTC (permalink / raw)
To: ltp-list
This patch fixed the modify of the group ownership before
do dir chmod and fixed the effective user when do cleanup.
Those problems cause the test failed with the following
error message:
fchmod05 1 FAIL : testdir: Incorrect modes 043777, Expected 0777
fchmod05 0 WARN : tst_rmdir(): rmobj(/tmp/fchUout8n) failed: \
remove(/tmp/fchUout8n) failed; errno=1: Operation not permitted
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
---
testcases/kernel/syscalls/fchmod/fchmod05.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/testcases/kernel/syscalls/fchmod/fchmod05.c b/testcases/kernel/syscalls/fchmod/fchmod05.c
index 3573f65..5226858 100644
--- a/testcases/kernel/syscalls/fchmod/fchmod05.c
+++ b/testcases/kernel/syscalls/fchmod/fchmod05.c
@@ -154,10 +154,10 @@ int main(int ac, char **av)
if ((PERMS & ~S_ISGID) != dir_mode) {
tst_resm(TFAIL, "%s: Incorrect modes 0%03o, "
"Expected 0%03o",
- TESTDIR, PERMS, MODE_RWX);
+ TESTDIR, dir_mode, PERMS & ~S_ISGID);
} else {
tst_resm(TPASS, "Functionality of fchmod(%d, "
- "%#o) successful", fd, PERMS);
+ "%#o) successful", fd, PERMS & ~S_ISGID);
}
} else {
tst_resm(TPASS, "call succeeded");
@@ -218,12 +218,12 @@ void setup()
tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", TESTDIR);
}
- if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
+ if (chown(TESTDIR, nobody_u->pw_uid, nobody_u->pw_gid) == -1)
tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
strerror(errno));
- /* change to nobody:nobody */
- if (setegid(nobody_u->pw_gid) == -1 || seteuid(nobody_u->pw_uid) == -1)
+ /* change to nobody:bin */
+ if (setegid(bin_group->gr_gid) == -1 || seteuid(nobody_u->pw_uid) == -1)
tst_brkm(TBROK, cleanup, "Couldn't switch to nobody:nobody: %s",
strerror(errno));
@@ -258,6 +258,9 @@ void cleanup()
TESTDIR, errno, strerror(errno));
}
+ setegid(0);
+ seteuid(0);
+
/* Remove tmp dir and all files in it */
tst_rmdir();
--
1.6.0.2.530.g67faa
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [LTP] [PATCH] fchmod05: fix to the group ownership and the effective user
2009-06-11 4:19 [LTP] [PATCH] fchmod05: fix to the group ownership and the effective user Wei Yongjun
@ 2009-06-15 19:16 ` Subrata Modak
0 siblings, 0 replies; 2+ messages in thread
From: Subrata Modak @ 2009-06-15 19:16 UTC (permalink / raw)
To: Wei Yongjun; +Cc: ltp-list
On Thu, 2009-06-11 at 12:19 +0800, Wei Yongjun wrote:
> This patch fixed the modify of the group ownership before
> do dir chmod and fixed the effective user when do cleanup.
> Those problems cause the test failed with the following
> error message:
>
> fchmod05 1 FAIL : testdir: Incorrect modes 043777, Expected 0777
> fchmod05 0 WARN : tst_rmdir(): rmobj(/tmp/fchUout8n) failed: \
> remove(/tmp/fchUout8n) failed; errno=1: Operation not permitted
>
> Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Thanks.
Regards--
Subrata
> ---
> testcases/kernel/syscalls/fchmod/fchmod05.c | 13 ++++++++-----
> 1 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/fchmod/fchmod05.c b/testcases/kernel/syscalls/fchmod/fchmod05.c
> index 3573f65..5226858 100644
> --- a/testcases/kernel/syscalls/fchmod/fchmod05.c
> +++ b/testcases/kernel/syscalls/fchmod/fchmod05.c
> @@ -154,10 +154,10 @@ int main(int ac, char **av)
> if ((PERMS & ~S_ISGID) != dir_mode) {
> tst_resm(TFAIL, "%s: Incorrect modes 0%03o, "
> "Expected 0%03o",
> - TESTDIR, PERMS, MODE_RWX);
> + TESTDIR, dir_mode, PERMS & ~S_ISGID);
> } else {
> tst_resm(TPASS, "Functionality of fchmod(%d, "
> - "%#o) successful", fd, PERMS);
> + "%#o) successful", fd, PERMS & ~S_ISGID);
> }
> } else {
> tst_resm(TPASS, "call succeeded");
> @@ -218,12 +218,12 @@ void setup()
> tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", TESTDIR);
> }
>
> - if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
> + if (chown(TESTDIR, nobody_u->pw_uid, nobody_u->pw_gid) == -1)
> tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
> strerror(errno));
>
> - /* change to nobody:nobody */
> - if (setegid(nobody_u->pw_gid) == -1 || seteuid(nobody_u->pw_uid) == -1)
> + /* change to nobody:bin */
> + if (setegid(bin_group->gr_gid) == -1 || seteuid(nobody_u->pw_uid) == -1)
> tst_brkm(TBROK, cleanup, "Couldn't switch to nobody:nobody: %s",
> strerror(errno));
>
> @@ -258,6 +258,9 @@ void cleanup()
> TESTDIR, errno, strerror(errno));
> }
>
> + setegid(0);
> + seteuid(0);
> +
> /* Remove tmp dir and all files in it */
> tst_rmdir();
>
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-06-15 19:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-11 4:19 [LTP] [PATCH] fchmod05: fix to the group ownership and the effective user Wei Yongjun
2009-06-15 19:16 ` Subrata Modak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox