public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
@ 2009-07-21  9:35 Munipradeep Beerakam
  2009-07-21 11:31 ` Sharyathi Nagesh
  0 siblings, 1 reply; 12+ messages in thread
From: Munipradeep Beerakam @ 2009-07-21  9:35 UTC (permalink / raw)
  To: sharyath; +Cc: ltp-list

[-- Attachment #1: Type: text/plain, Size: 217 bytes --]

Hi Sharyathi,

This is the forwarded mail containing the patch for chmod05 in new LTP
provided by Wei Yongjun <yjwei@cn.fujitsu.com>.
Is this the functionality you are also looking for and trying to fix?

Thanks
Muni

[-- Attachment #2: Forwarded message - [LTP] [PATCH 1/2] chmod05: fix to modify the group ownership before do dir chmod --]
[-- Type: message/rfc822, Size: 7684 bytes --]

From: Wei Yongjun <yjwei@cn.fujitsu.com>
To: Subrata Modak <subrata@linux.vnet.ibm.com>, ltp-list@lists.sourceforge.net
Subject: [LTP] [PATCH 1/2] chmod05: fix to modify the group ownership before do dir chmod
Date: Mon, 08 Jun 2009 14:13:15 +0800
Message-ID: <4A2CABFB.3010207@cn.fujitsu.com>

Refer to the manpage:

  # man 2 chmod
  If the calling process is not privileged (Linux: does not have the
  CAP_FSETID capability), and the group of the file does not match
  the effective group ID of the process or one of its supplementary
  group IDs, the S_ISGID bit will be turned off, but this will not
  cause an error to be returned.

So, if we want S_ISGID bit be turned off after chmod(), we can not have
the CAP_FSETID capability and not match the effective group ID. The 'bin'
group always has the CAP_FSETID capability, so we can not change the own
of the TESTDIR to 'bin' group, instead, 'nobody' can be used.

This patch fixed the problem by change gid of chown to 'nobody' group and
change the gid of setegid() to 'bin' group.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
---
 testcases/kernel/syscalls/chmod/chmod05.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/syscalls/chmod/chmod05.c b/testcases/kernel/syscalls/chmod/chmod05.c
index 4504aaa..c6f1225 100644
--- a/testcases/kernel/syscalls/chmod/chmod05.c
+++ b/testcases/kernel/syscalls/chmod/chmod05.c
@@ -177,7 +177,7 @@ int main(int ac, char **av)
 			if ((PERMS & ~S_ISGID) != dir_mode) {
 				tst_resm(TFAIL, "%s: Incorrect modes 0%03o, "
 					 "Expected 0%03o", TESTDIR, dir_mode,
-					 PERMS);
+					 PERMS & ~S_ISGID);
 			} else {
 				tst_resm(TPASS,
 					 "Functionality of chmod(%s, %#o) successful",
@@ -241,12 +241,12 @@ void setup()
 				strerror(errno));
 	}

-	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 ||
+	/* 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));
-- 
1.6.0.2.530.g67faa





------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

[-- Attachment #3: Type: text/plain, Size: 389 bytes --]

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge

[-- Attachment #4: Type: text/plain, Size: 155 bytes --]

_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [LTP] Issue observed with chmod05, fchmod05 test cases
@ 2009-06-29  7:00 Sharyathi Nagesh
  2009-06-29  7:33 ` Wei Yongjun
  0 siblings, 1 reply; 12+ messages in thread
From: Sharyathi Nagesh @ 2009-06-29  7:00 UTC (permalink / raw)
  To: ltp-list, Subrata Modak, yjwei; +Cc: mbeeraka

Hi
   I am observing this anomaly with these 2 test cases chmod05.c and fchmod05.c.
These 2 test cases are written to test the POSIX standard which says:

  	"If the calling process is not privileged  (Linux:  does  not  have  the
        CAP_FSETID  capability),  and  the group of the file does not match the
        effective group ID of the process or one  of  its  supplementary  group
        IDs,  the  S_ISGID  bit  will be turned off, but this will not cause an
        error to be returned."


So the test case will try to setup a file in which the GID of the test/tmp file will be 
different from the effective group ID of the running process. But this criterion is found to 
be not sufficient condition for the clearing the S_ISGID bit of the file

------------------------------------------------------------
Ex:
There are 2 users nobody (uid=99, gid=99) and bin (uid=1, gid=1)
let as assume temporary file as /tmp/zxcv

Test will Pass if
     Set UID/GID of /tmp/zxcv to            nobody->uid & nobody->GID
     Set eUID/eGID of process to           nobody->uid & bin->GID

Test will Fail if
     Set UID/GID of /tmp/zxcv to            nobody->uid & bin->GID
     Set eUID/eGID of process to           nobody->uid & nobody->GID

I verified supplementary group IDs for both 'nobody' and 'bin' and they are mutually 
exclusive and none of the other is supplementary group ID of the ID being tested
------------------------------------------------------------

Should we treat this as Test case issue or kernel bug?

Thanks
Yeehaw

------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-07-31  3:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-21  9:35 [LTP] Issue observed with chmod05, fchmod05 test cases Munipradeep Beerakam
2009-07-21 11:31 ` Sharyathi Nagesh
  -- strict thread matches above, loose matches on Subject: below --
2009-06-29  7:00 Sharyathi Nagesh
2009-06-29  7:33 ` Wei Yongjun
2009-06-29 10:30   ` Sharyathi Nagesh
2009-07-02  4:34   ` Sharyathi Nagesh
2009-07-20 11:25   ` Sharyathi Nagesh
2009-07-20 15:56     ` Garrett Cooper
2009-07-21  8:57       ` Sharyathi Nagesh
2009-07-30 18:28         ` Subrata Modak
2009-07-31  1:38           ` Sharyathi Nagesh
2009-07-31  1:54             ` Subrata Modak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox