public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [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; 14+ 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] 14+ messages in thread

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  2009-06-29  7:00 [LTP] Issue observed with chmod05, fchmod05 test cases Sharyathi Nagesh
@ 2009-06-29  7:33 ` Wei Yongjun
  2009-06-29 10:30   ` Sharyathi Nagesh
                     ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Wei Yongjun @ 2009-06-29  7:33 UTC (permalink / raw)
  To: Sharyathi Nagesh; +Cc: ltp-list, mbeeraka

Sharyathi Nagesh wrote:
> 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?

The different of 'nobody' and 'bin' is bin->GID has the CAP_FSETID 
capability, but nobody->GID has not, I think.

Regards.





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

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

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  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
  2 siblings, 0 replies; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-06-29 10:30 UTC (permalink / raw)
  To: Wei Yongjun; +Cc: ltp-list, mbeeraka


Wei Yongjun
>>
>> Should we treat this as Test case issue or kernel bug?
> 
> The different of 'nobody' and 'bin' is bin->GID has the CAP_FSETID 
> capability, but nobody->GID has not, I think.
> 
I am facing some issues with getcap, how else can I verify the USER capabilities
If there is a simpler way to check user capabilities please let me know

My efforts to use getcap fails

getcap /tmp/test1
Failed to get capabilities for file `/tmp/test1'
  (Function not implemented)

Thank you

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

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

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  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
  2 siblings, 0 replies; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-07-02  4:34 UTC (permalink / raw)
  To: Wei Yongjun; +Cc: ltp-list, mbeeraka

Wei Yongjun wrote:

>> ------------------------------------------------------------
>>
>> Should we treat this as Test case issue or kernel bug?
> 
> The different of 'nobody' and 'bin' is bin->GID has the CAP_FSETID 
> capability, but nobody->GID has not, I think.


I tried with a small program to check out the capabilities of bin and nobody couldn't find 
any difference

This is what I tried
Program I used
------------------------------
int main()
{
	cap_t cap = cap_get_proc();
	printf("Running with uid %d\n", getuid());
	printf("Running with capabilities: %s\n", cap_to_text(cap, NULL));
	cap_free(cap);
	return 0;
}
------------------------------
Running the program under different user gave same information

mx3455a:/home/sharyathi # su bin
bin@mx3455a:/home/sharyathi> ./a.out
Running with uid 1
Running with capabilities: =
bin@mx3455a:/home/sharyathi> exit

mx3455a:/home/sharyathi # su nobody
nobody@mx3455a:/home/sharyathi> ./a.out
Running with uid 65534
Running with capabilities: =

Thanks
Sharyathi N

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

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

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  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
  2 siblings, 1 reply; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-07-20 11:25 UTC (permalink / raw)
  To: Wei Yongjun, ltp-list; +Cc: mbeeraka

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

Hi
   I was able to understand the problem...
This is what I learnt

Supplementary group IDs of a process is inherited from its parent process, so
who ever spawns the process transfer its supplementary group ids also to its
child process.

in our test case scenario checking the supplementary group IDs of root which is
spawning the test cases fchmod5 and chmod5 shows this

---------------------------------------------------------
cat test.c
---------------------------------------------------------
int main()
{
         int size = 10;
         int i, index;
         gid_t list[10];
         index = getgroups(size, list);
         for ( i =0 ;i < index; i++)
                 printf("\n list[%d]:%d", i, list[i]);
         printf("\n");
}
---------------------------------------------------------

[root@mx3350a sharyathi]# ./a.out

  list[0]:0
  list[1]:1
  list[2]:2
  list[3]:3
  list[4]:4
  list[5]:6
  list[6]:10
---------------------------------------------------------
This shows that bin->GID (1) is one of the supplementary group IDs of the process
while nobody->GID (99) is not.
So in the kernel code
--------------------------------------------------------
  if (ia_valid & ATTR_MODE) {
                 umode_t mode = attr->ia_mode;

                 if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID))
                         mode &= ~S_ISGID;
                 inode->i_mode = mode;
         }
--------------------------------------------------------
S_ISGID is cleared in case file attribute is nobody and not in case of GID
being bin

I was thinking of what could be the best solution as earlier solution proposed
are not fool proof
Attaching a fix I though is the best way to handle the issue

Thanks
Yeehaw



[-- Attachment #2: fix_supplementary_group_id_issue.patch --]
[-- Type: text/x-patch, Size: 1468 bytes --]

Index: ltp-full-20090430/testcases/kernel/syscalls/chmod/chmod05.c
===================================================================
--- ltp-full-20090430.orig/testcases/kernel/syscalls/chmod/chmod05.c	2009-04-25 23:22:44.000000000 +0530
+++ ltp-full-20090430/testcases/kernel/syscalls/chmod/chmod05.c	2009-07-20 16:34:07.000000000 +0530
@@ -240,6 +240,10 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed: %s", TESTDIR,
 				strerror(errno));
 	}
+	
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
 
 	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
Index: ltp-full-20090430/testcases/kernel/syscalls/fchmod/fchmod05.c
===================================================================
--- ltp-full-20090430.orig/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-07-20 16:22:56.000000000 +0530
+++ ltp-full-20090430/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-07-20 16:32:26.000000000 +0530
@@ -218,6 +218,10 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", TESTDIR);
 	}
 
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
+
 	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
 				strerror(errno));

[-- 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	[flat|nested] 14+ messages in thread

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  2009-07-20 11:25   ` Sharyathi Nagesh
@ 2009-07-20 15:56     ` Garrett Cooper
  2009-07-21  8:57       ` Sharyathi Nagesh
  0 siblings, 1 reply; 14+ messages in thread
From: Garrett Cooper @ 2009-07-20 15:56 UTC (permalink / raw)
  To: Sharyathi Nagesh; +Cc: ltp-list, mbeeraka

On Mon, Jul 20, 2009 at 4:25 AM, Sharyathi Nagesh<sharyath@in.ibm.com> wrote:
> Hi
>  I was able to understand the problem...
> This is what I learnt
>
> Supplementary group IDs of a process is inherited from its parent process,
> so
> who ever spawns the process transfer its supplementary group ids also to its
> child process.
>
> in our test case scenario checking the supplementary group IDs of root which
> is
> spawning the test cases fchmod5 and chmod5 shows this
>
> ---------------------------------------------------------
> cat test.c
> ---------------------------------------------------------
> int main()
> {
>        int size = 10;
>        int i, index;
>        gid_t list[10];
>        index = getgroups(size, list);
>        for ( i =0 ;i < index; i++)
>                printf("\n list[%d]:%d", i, list[i]);
>        printf("\n");
> }
> ---------------------------------------------------------
>
> [root@mx3350a sharyathi]# ./a.out
>
>  list[0]:0
>  list[1]:1
>  list[2]:2
>  list[3]:3
>  list[4]:4
>  list[5]:6
>  list[6]:10
> ---------------------------------------------------------
> This shows that bin->GID (1) is one of the supplementary group IDs of the
> process
> while nobody->GID (99) is not.
> So in the kernel code
> --------------------------------------------------------
>  if (ia_valid & ATTR_MODE) {
>                umode_t mode = attr->ia_mode;
>
>                if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID))
>                        mode &= ~S_ISGID;
>                inode->i_mode = mode;
>        }
> --------------------------------------------------------
> S_ISGID is cleared in case file attribute is nobody and not in case of GID
> being bin
>
> I was thinking of what could be the best solution as earlier solution
> proposed
> are not fool proof
> Attaching a fix I though is the best way to handle the issue

Hi Yeehaw,
    1. You didn't provide sign-off, as noted in the DCO:
http://ltp.sourceforge.net/DCO.txt
    2. This appears to be a legitimate documentation bug (at least as
far as the manpages for 2.6.29-r5 are concerned), because I can't find
a single reference to nobody in the manpage, as far as special
importance is concerned. Furthermore, looking at the OpenGroup's
documentation, I don't see anything there either:
http://www.opengroup.org/onlinepubs/000095399/functions/getgroups.html
. So, I'm a bit stumped as to whether or not we'd be doing the right
thing by `fixing' this test.
Thanks,
-Garrett

------------------------------------------------------------------------------
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
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

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

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  2009-07-20 15:56     ` Garrett Cooper
@ 2009-07-21  8:57       ` Sharyathi Nagesh
  2009-07-30 18:28         ` Subrata Modak
  0 siblings, 1 reply; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-07-21  8:57 UTC (permalink / raw)
  To: Garrett Cooper; +Cc: ltp-list, mbeeraka

Garret

> 
> Hi Yeehaw,
>     1. You didn't provide sign-off, as noted in the DCO:
> http://ltp.sourceforge.net/DCO.txt
Excuse me for missing that out, if this patch format is okie I will resend it with the 
sign-off included in it
>     2. This appears to be a legitimate documentation bug (at least as
> far as the manpages for 2.6.29-r5 are concerned), because I can't find
> a single reference to nobody in the manpage, as far as special
> importance is concerned. Furthermore, looking at the OpenGroup's
> documentation, I don't see anything there either:
> http://www.opengroup.org/onlinepubs/000095399/functions/getgroups.html

  I am not very clear with what you are pointing at, but let me take a shot. bin and nobody 
are 2 users used in the test case. I am not sure who or where it is getting created, but 
what I did observe is that they don't have the same privileges. GID of bin is in the list of 
supplementary group ids of root while nobody is not. If this is the case chmod/fchmod won't 
clear S_IGSID bit of the file, as you can read from man page of chmod/fchmod.
  Nobody won't be in any man page as this User was created by LTP, I suppose, to use in this 
test case.
Thanks
Sharyathi N


------------------------------------------------------------------------------
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
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

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

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  2009-07-21  8:57       ` Sharyathi Nagesh
@ 2009-07-30 18:28         ` Subrata Modak
  2009-07-31  1:38           ` Sharyathi Nagesh
  0 siblings, 1 reply; 14+ messages in thread
From: Subrata Modak @ 2009-07-30 18:28 UTC (permalink / raw)
  To: Sharyathi Nagesh; +Cc: ltp-list, mbeeraka

On Tue, 2009-07-21 at 14:27 +0530, Sharyathi Nagesh wrote: 
> Garret
> 
> > 
> > Hi Yeehaw,
> >     1. You didn't provide sign-off, as noted in the DCO:
> > http://ltp.sourceforge.net/DCO.txt
> Excuse me for missing that out, if this patch format is okie I will resend it with the 
> sign-off included in it

Sharyathi, please resend this clean.

Regards--
Subrata

> >     2. This appears to be a legitimate documentation bug (at least as
> > far as the manpages for 2.6.29-r5 are concerned), because I can't find
> > a single reference to nobody in the manpage, as far as special
> > importance is concerned. Furthermore, looking at the OpenGroup's
> > documentation, I don't see anything there either:
> > http://www.opengroup.org/onlinepubs/000095399/functions/getgroups.html
> 
>   I am not very clear with what you are pointing at, but let me take a shot. bin and nobody 
> are 2 users used in the test case. I am not sure who or where it is getting created, but 
> what I did observe is that they don't have the same privileges. GID of bin is in the list of 
> supplementary group ids of root while nobody is not. If this is the case chmod/fchmod won't 
> clear S_IGSID bit of the file, as you can read from man page of chmod/fchmod.
>   Nobody won't be in any man page as this User was created by LTP, I suppose, to use in this 
> test case.
> Thanks
> Sharyathi N
> 
> 
> ------------------------------------------------------------------------------
> 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
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

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

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  2009-07-30 18:28         ` Subrata Modak
@ 2009-07-31  1:38           ` Sharyathi Nagesh
  2009-07-31  1:54             ` Subrata Modak
  0 siblings, 1 reply; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-07-31  1:38 UTC (permalink / raw)
  To: subrata; +Cc: ltp-list, mbeeraka

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

Subrata
> 
> Sharyathi, please resend this clean.
> 
Attaching it, with signed off added
Thanks
Sharyathi Nagesh


[-- Attachment #2: fix_supplementary_group_id_issue.patch --]
[-- Type: text/x-patch, Size: 1523 bytes --]

Signed-off-by: Sharyathi Nagesh <sharyath@in.ibm.com>

Index: ltp-full-20090430/testcases/kernel/syscalls/chmod/chmod05.c
===================================================================
--- ltp-full-20090430.orig/testcases/kernel/syscalls/chmod/chmod05.c	2009-04-25 23:22:44.000000000 +0530
+++ ltp-full-20090430/testcases/kernel/syscalls/chmod/chmod05.c	2009-07-20 16:34:07.000000000 +0530
@@ -240,6 +240,10 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed: %s", TESTDIR,
 				strerror(errno));
 	}
+	
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
 
 	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
Index: ltp-full-20090430/testcases/kernel/syscalls/fchmod/fchmod05.c
===================================================================
--- ltp-full-20090430.orig/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-07-20 16:22:56.000000000 +0530
+++ ltp-full-20090430/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-07-20 16:32:26.000000000 +0530
@@ -218,6 +218,10 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", TESTDIR);
 	}
 
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
+
 	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
 				strerror(errno));

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

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july

[-- 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	[flat|nested] 14+ messages in thread

* Re: [LTP] Issue observed with chmod05, fchmod05 test cases
  2009-07-31  1:38           ` Sharyathi Nagesh
@ 2009-07-31  1:54             ` Subrata Modak
  2009-08-06 11:39               ` [LTP] [PATCH][RESEND] " Sharyathi Nagesh
  0 siblings, 1 reply; 14+ messages in thread
From: Subrata Modak @ 2009-07-31  1:54 UTC (permalink / raw)
  To: Sharyathi Nagesh; +Cc: ltp-list, mbeeraka

Sharyathi,

On Fri, 2009-07-31 at 07:08 +0530, Sharyathi Nagesh wrote:
> Subrata
> > 
> > Sharyathi, please resend this clean.
> > 
> Attaching it, with signed off added

This is good. But, what i wanted is:

1) Final and clear description of the purpose of the patch,
2) Signed-off-by: clause,
3) Patch itself,

Itś just like how you would resend a patch to LKML, saying:

[PATCH v2][RESEND] ...

Regards--
Subrata

> Thanks
> Sharyathi Nagesh
> 


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

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

* [LTP] [PATCH][RESEND] Issue observed with chmod05, fchmod05 test cases
  2009-07-31  1:54             ` Subrata Modak
@ 2009-08-06 11:39               ` Sharyathi Nagesh
  2009-08-07 12:41                 ` Subrata Modak
  0 siblings, 1 reply; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-08-06 11:39 UTC (permalink / raw)
  To: subrata; +Cc: ltp-list, mbeeraka

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

Subrata
	Resending the patch, after the modification. Let me know if this is acceptable
Thanks
Yeehaw





[-- Attachment #2: fix_supplementary_group_id_issue.patch --]
[-- Type: text/x-patch, Size: 2124 bytes --]

This Patch fixes bug in the test cases chmod05.c and fchmod05.c. The test case uses 2 UserIds nobody and bin.
The issue is observed when one of the UserId is the supplementary group Ids of the root. In that case the 
Posix standard mentions that S_IGSID bit should not be cleared by the systemcall causing the test to fail.
This test case fixes the issue by specifically clearing the supplementary group ID of the process.The
main intention of the test case is to test if S_IGSID bit is cleared in case the non privilage user tries to 
set file modes and hence clearing the supplementary group Ids.


Signed-off-by: Sharyathi Nagesh <sharyath@in.ibm.com>

Index: ltp-full-20090430/testcases/kernel/syscalls/chmod/chmod05.c
===================================================================
--- ltp-full-20090430.orig/testcases/kernel/syscalls/chmod/chmod05.c	2009-04-25 23:22:44.000000000 +0530
+++ ltp-full-20090430/testcases/kernel/syscalls/chmod/chmod05.c	2009-07-20 16:34:07.000000000 +0530
@@ -240,6 +240,10 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed: %s", TESTDIR,
 				strerror(errno));
 	}
+	
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
 
 	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
Index: ltp-full-20090430/testcases/kernel/syscalls/fchmod/fchmod05.c
===================================================================
--- ltp-full-20090430.orig/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-07-20 16:22:56.000000000 +0530
+++ ltp-full-20090430/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-07-20 16:32:26.000000000 +0530
@@ -218,6 +218,10 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", TESTDIR);
 	}
 
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
+
 	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
 				strerror(errno));

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

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july

[-- 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	[flat|nested] 14+ messages in thread

* Re: [LTP] [PATCH][RESEND] Issue observed with chmod05, fchmod05 test cases
  2009-08-06 11:39               ` [LTP] [PATCH][RESEND] " Sharyathi Nagesh
@ 2009-08-07 12:41                 ` Subrata Modak
  2009-09-15 10:27                   ` Sharyathi Nagesh
  0 siblings, 1 reply; 14+ messages in thread
From: Subrata Modak @ 2009-08-07 12:41 UTC (permalink / raw)
  To: Sharyathi Nagesh; +Cc: ltp-list, mbeeraka

On Thu, 2009-08-06 at 17:09 +0530, Sharyathi Nagesh wrote: 
> Subrata
> 	Resending the patch, after the modification. Let me know if this is acceptable
> Thanks
> Yeehaw

It fails to Apply:

patching file testcases/kernel/syscalls/chmod/chmod05.c
Hunk #1 succeeded at 240 with fuzz 2.
patching file testcases/kernel/syscalls/fchmod/fchmod05.c
Hunk #1 FAILED at 218.
1 out of 1 hunk FAILED -- saving rejects to file
testcases/kernel/syscalls/fchmod/fchmod05.c.rej

Regards--
Subrata

> 
> 
> 
> 


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

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

* Re: [LTP] [PATCH][RESEND] Issue observed with chmod05, fchmod05 test cases
  2009-08-07 12:41                 ` Subrata Modak
@ 2009-09-15 10:27                   ` Sharyathi Nagesh
  2009-09-16 15:16                     ` Subrata Modak
  0 siblings, 1 reply; 14+ messages in thread
From: Sharyathi Nagesh @ 2009-09-15 10:27 UTC (permalink / raw)
  To: subrata; +Cc: ltp-list, mbeeraka

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

Subrata
   Excuse me for the late response, I have update the patch as well as the description. 
Please re-verify
Thanks
Sharyathi


[-- Attachment #2: fix_supplementary_group_id_issue.patch --]
[-- Type: text/x-patch, Size: 3004 bytes --]

This Patch fixes bug in the test cases chmod05.c and fchmod05.c. The test case uses 2 UserIds nobody and bin.
The issue is observed when one of the UserId is the supplementary group Ids of the rooti (either nobody or bin).
In that case the Posix standard mentions that S_IGSID bit should not be cleared by the systemcall, chmod() 
or fchmod(), which causes the test to fail. 
This patch fixes the issue by specifically clearing the supplementary group ID of the process.
The main intention of the test case is to test if S_IGSID bit is cleared in case the non privilage user tries to 
set file modes. Hence felt clearing the supplementary group Ids is the best way to fix the issue.
At the same time I am reverting the earlier patch submitted by Wei Yongjun <yjwei@cn.fujitsu.com> 

Signed-off-by: Sharyathi Nagesh <sharyath@in.ibm.com>

Index: ltp-full-20090831/testcases/kernel/syscalls/fchmod/fchmod05.c
===================================================================
--- ltp-full-20090831.orig/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-08-31 10:45:51.000000000 +0530
+++ ltp-full-20090831/testcases/kernel/syscalls/fchmod/fchmod05.c	2009-09-15 15:37:20.000000000 +0530
@@ -218,12 +218,16 @@
 		tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", TESTDIR);
 	}
 
-	if (chown(TESTDIR, nobody_u->pw_uid, nobody_u->pw_gid) == -1)
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
+
+	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't change owner of testdir: %s",
 				strerror(errno));
 
-	/* change to nobody:bin */
-	if (setegid(bin_group->gr_gid) == -1 || seteuid(nobody_u->pw_uid) == -1)
+	/* change to nobody:nobody */
+	if (setegid(nobody_u->pw_gid) == -1 || seteuid(nobody_u->pw_uid) == -1)
 		tst_brkm(TBROK, cleanup, "Couldn't switch to nobody:nobody: %s",
 				strerror(errno));
 
Index: ltp-full-20090831/testcases/kernel/syscalls/chmod/chmod05.c
===================================================================
--- ltp-full-20090831.orig/testcases/kernel/syscalls/chmod/chmod05.c	2009-08-31 10:45:53.000000000 +0530
+++ ltp-full-20090831/testcases/kernel/syscalls/chmod/chmod05.c	2009-09-15 15:41:27.000000000 +0530
@@ -236,11 +236,15 @@
 	if (mkdir(TESTDIR, MODE_RWX) < 0)
 		tst_brkm(TBROK|TERRNO, cleanup, "mkdir(%s) failed", TESTDIR);
 
-	if (chown(TESTDIR, nobody_u->pw_uid, nobody_u->pw_gid) == -1)
+	if(setgroups(1, &nobody_u->pw_gid) == -1)
+		tst_brkm(TBROK, cleanup, "Couldn't change supplementary group Id: %s",
+				strerror(errno));
+
+	if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
 		tst_brkm(TBROK|TERRNO, cleanup, "chown() of testdir failed");
 
-	/* change to nobody:bin */
-	if (setegid(bin_group->gr_gid) == -1 ||
+	/* change to nobody:nobody */
+	if (setegid(nobody_u->pw_gid) == -1 || 
 		 seteuid(nobody_u->pw_uid) == -1)
 		tst_brkm(TBROK|TERRNO, cleanup, "Couldn't switch to nobody:nobody");
 }

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

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf

[-- 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	[flat|nested] 14+ messages in thread

* Re: [LTP] [PATCH][RESEND] Issue observed with chmod05, fchmod05 test cases
  2009-09-15 10:27                   ` Sharyathi Nagesh
@ 2009-09-16 15:16                     ` Subrata Modak
  0 siblings, 0 replies; 14+ messages in thread
From: Subrata Modak @ 2009-09-16 15:16 UTC (permalink / raw)
  To: Sharyathi Nagesh; +Cc: ltp-list, mbeeraka

On Tue, 2009-09-15 at 15:57 +0530, Sharyathi Nagesh wrote:
> Subrata
>    Excuse me for the late response, I have update the patch as well as
> the description. 
> Please re-verify
> Thanks
> Sharyathi
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> differences
> between files
> attachment
> (fix_supplementary_group_id_issue.patch)
> 
> 
> This Patch fixes bug in the test cases chmod05.c and fchmod05.c. The
> test case uses 2 UserIds nobody and bin.
> The issue is observed when one of the UserId is the supplementary
> group Ids of the rooti (either nobody or bin).
> In that case the Posix standard mentions that S_IGSID bit should not
> be cleared by the systemcall, chmod() 
> or fchmod(), which causes the test to fail. 
> This patch fixes the issue by specifically clearing the supplementary
> group ID of the process.
> The main intention of the test case is to test if S_IGSID bit is
> cleared in case the non privilage user tries to 
> set file modes. Hence felt clearing the supplementary group Ids is the
> best way to fix the issue.
> At the same time I am reverting the earlier patch submitted by Wei
> Yongjun <yjwei@cn.fujitsu.com> 

Thanks.

Regards--
Subrata

> 
> Signed-off-by: Sharyathi Nagesh <sharyath@in.ibm.com>
> 
> Index: ltp-full-20090831/testcases/kernel/syscalls/fchmod/fchmod05.c
> ===================================================================
> ---
> ltp-full-20090831.orig/testcases/kernel/syscalls/fchmod/fchmod05.c  2009-08-31 10:45:51.000000000 +0530
> +++
> ltp-full-20090831/testcases/kernel/syscalls/fchmod/fchmod05.c       2009-09-15 15:37:20.000000000 +0530
> @@ -218,12 +218,16 @@
>                 tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed",
> TESTDIR);
>         }
> 
> -       if (chown(TESTDIR, nobody_u->pw_uid, nobody_u->pw_gid) == -1)
> +       if(setgroups(1, &nobody_u->pw_gid) == -1)
> +               tst_brkm(TBROK, cleanup, "Couldn't change
> supplementary group Id: %s",
> +                               strerror(errno));
> +
> +       if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
>                 tst_brkm(TBROK, cleanup, "Couldn't change owner of
> testdir: %s",
>                                 strerror(errno));
> 
> -       /* change to nobody:bin */
> -       if (setegid(bin_group->gr_gid) == -1 ||
> seteuid(nobody_u->pw_uid) == -1)
> +       /* change to nobody:nobody */
> +       if (setegid(nobody_u->pw_gid) == -1 ||
> seteuid(nobody_u->pw_uid) == -1)
>                 tst_brkm(TBROK, cleanup, "Couldn't switch to
> nobody:nobody: %s",
>                                 strerror(errno));
> 
> Index: ltp-full-20090831/testcases/kernel/syscalls/chmod/chmod05.c
> ===================================================================
> ---
> ltp-full-20090831.orig/testcases/kernel/syscalls/chmod/chmod05.c    2009-08-31 10:45:53.000000000 +0530
> +++
> ltp-full-20090831/testcases/kernel/syscalls/chmod/chmod05.c 2009-09-15
> 15:41:27.000000000 +0530
> @@ -236,11 +236,15 @@
>         if (mkdir(TESTDIR, MODE_RWX) < 0)
>                 tst_brkm(TBROK|TERRNO, cleanup, "mkdir(%s) failed",
> TESTDIR);
> 
> -       if (chown(TESTDIR, nobody_u->pw_uid, nobody_u->pw_gid) == -1)
> +       if(setgroups(1, &nobody_u->pw_gid) == -1)
> +               tst_brkm(TBROK, cleanup, "Couldn't change
> supplementary group Id: %s",
> +                               strerror(errno));
> +
> +       if (chown(TESTDIR, nobody_u->pw_uid, bin_group->gr_gid) == -1)
>                 tst_brkm(TBROK|TERRNO, cleanup, "chown() of testdir
> failed");
> 
> -       /* change to nobody:bin */
> -       if (setegid(bin_group->gr_gid) == -1 ||
> +       /* change to nobody:nobody */
> +       if (setegid(nobody_u->pw_gid) == -1 || 
>                  seteuid(nobody_u->pw_uid) == -1)
>                 tst_brkm(TBROK|TERRNO, cleanup, "Couldn't switch to
> nobody:nobody");
>  }
> 


------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

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

end of thread, other threads:[~2009-09-16 15:17 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-29  7:00 [LTP] Issue observed with chmod05, fchmod05 test cases 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
2009-08-06 11:39               ` [LTP] [PATCH][RESEND] " Sharyathi Nagesh
2009-08-07 12:41                 ` Subrata Modak
2009-09-15 10:27                   ` Sharyathi Nagesh
2009-09-16 15: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