On Tue, 2009-04-14 at 08:54 +0800, Guo Hongruan wrote:
> see attachment for the patch.

I think you need to resend this based on the latest CVS. See the
failures in applying the patch:

patching file testcases/kernel/syscalls/mount/mount02.c
Hunk #1 FAILED at 414.
1 out of 1 hunk FAILED -- saving rejects to file
testcases/kernel/syscalls/mount/mount02.c.rej
patching file testcases/kernel/syscalls/mount/mount03.c
Hunk #1 FAILED at 170.
Hunk #2 FAILED at 393.
Hunk #3 FAILED at 410.
Hunk #4 FAILED at 434.
4 out of 4 hunks FAILED -- saving rejects to file
testcases/kernel/syscalls/mount/mount03.c.rej

Regards--
Subrata

> 
> On Mon, 13 Apr 2009 21:06:25 +0800, Subrata Modak  
> <[email protected]> wrote:
> 
> > Guo,
> >
> > On Mon, 2009-04-13 at 10:57 +0800, Guo Hongruan wrote:
> >> Ok, I will
> >
> > I am hoping that you will resend a complete set for both mount02.c and
> > mount03.c with Caiś comments. Post Caiś acknowledgement, i will checkin.
> >
> > Regards--
> > Subrata
> >
> >>
> >> On Mon, 13 Apr 2009 06:56:42 +0800, CAI Qian <[email protected]> wrote:
> >>
> >> > From: "Guo Hongruan" <[email protected]>
> >> > Subject: Re: [LTP] patch for mount02.c and mount03.c bugs(maybe)
> >> > Date: Sun, 12 Apr 2009 11:00:48 +0800
> >> >
> >> >> Hi, Qian
> >> >>    The LTP I used is LTP-20090131. Maybe mount03.c has changed since
> >> >>    then. For mount03.c, it does not work on my site.
> >> >>
> >> >> Let's support we execute mount03 using the following command:
> >> >>
> >> >> mount03 -D /dev/hda2 -T ext2
> >> >>
> >> >> look at the following code in mount03.c
> >> >>
> >> >> before applying the patch
> >> >> 172         if (Tflag) {
> >> >>                         /*the space using to store Fstype is 
> >> >> strlen("ext2")==4, the return
> >> >> value
> >> >>                         of strlen does not include
> >> >>                         the terminating `\0' character */
> >> >> 173                 Fstype = (char *) malloc(strlen(fstype));
> >> >> 174                 if (Fstype == NULL) {
> >> >> 175 tst_brkm(TBROK, NULL, "malloc failed to alloc %d errno "
> >> >> 176                                  " %d ", strlen(fstype), errno);
> >> >> 177                 }
> >> >>                         /*the Fstype context is "ext2", Note that, it 
> >> >> is without the '\0'
> >> >>                         terminating character,
> >> >>                         so when printf("%s", Fstype), the content is 
> >> >> undetermined*/
> >> >> 178                 strncpy(Fstype, fstype, strlen(fstype));
> >> >> 179         } else {
> >> >> 180                 Fstype = (char *) malloc(strlen(DEFAULT_FSTYPE));
> >> >> 181                 if (Fstype == NULL) {
> >> >> 182 tst_brkm(TBROK, NULL, "malloc failed to alloc %d errno "
> >> >> 183                                  " %d ", strlen(fstype), errno);
> >> >> 184                 }
> >> >
> >> > Yes, you are right. Can you also update the above error messages --  
> >> line
> >> > 175 and 182 (strlen(fstype) is totally wrong here) to have the correct
> >> > number of bytes?
> >> >
> >> > Thanks,
> >> > CAI Qian
> >> >
> >> >> 185 strncpy(Fstype, DEFAULT_FSTYPE, strlen(DEFAULT_FSTYPE));
> >> >> 186         }
> >> >>
> >> >> after applying the patch.
> >> >> 172         if (Tflag) {
> >> >>                         /*We must allocate enough space to store the 
> >> >> whole string  
> >> including
> >> >> '\0'
> >> >>                         terminating character*/
> >> >> 173                 Fstype = (char *) malloc(strlen(fstype)+1);
> >> >> 174                 if (Fstype == NULL) {
> >> >> 175 tst_brkm(TBROK, NULL, "malloc failed to alloc %d errno "
> >> >> 176                                  " %d ", strlen(fstype), errno);
> >> >> 177                 }
> >> >>                         /*memset ensures the terminating character 
> >> >> exist for any cases.*/
> >> >> 178                 memset(Fstype, 0, strlen(fstype)+1);
> >> >> 179                 strncpy(Fstype, fstype, strlen(fstype));
> >> >> 180         } else {
> >> >> 181                 Fstype = (char *)  
> >> malloc(strlen(DEFAULT_FSTYPE)+1);
> >> >> 182                 if (Fstype == NULL) {
> >> >> 183 tst_brkm(TBROK, NULL, "malloc failed to alloc %d errno "
> >> >> 184                                  " %d ", strlen(fstype), errno);
> >> >> 185                 }
> >> >> 186                 memset(Fstype, 0, strlen(DEFAULT_FSTYPE)+1);
> >> >> 187 strncpy(Fstype, DEFAULT_FSTYPE, strlen(DEFAULT_FSTYPE));
> >> >> 188         }
> >> >>
> >> >>
> >> >> On Sat, 11 Apr 2009 15:55:36 +0800, CAI Qian <[email protected]>  
> >> wrote:
> >> >>
> >> >>>
> >> >>> Hi,
> >> >>>
> >> >>> --- On Thu, 4/9/09, Guo Hongruan <[email protected]> wrote:
> >> >>>
> >> >>>> From: Guo Hongruan <[email protected]>
> >> >>>> Subject: [LTP] patch for mount02.c and mount03.c bugs(maybe)
> >> >>>> To: [email protected]
> >> >>>> Date: Thursday, April 9, 2009, 11:41 AM
> >> >>>> Hi, Guys,
> >> >>>>     I think I found a bug of mount02.c and
> >> >>>> mount03.c which can not validate
> >> >>>> mount system call correctly. I did the following change, on
> >> >>>> my sites, it
> >> >>>> works OK. Here is the patch, hope it is useful.
> >> >>>>
> >> >>>>     Running these testcases manually can
> >> >>>> reproduce this bug:
> >> >>>> mount02 -D /dev/hda2 -T ext2
> >> >>>> mount03 -D /dev/hda2 -T ext2
> >> >>>>
> >> >>>
> >> >>> I can reproduce the problem with mount02, and confirm the patch  
> >> works.
> >> >>> However, mount03 does not fail for me without the patch.
> >> >>>
> >> >>> # # ./mount03 -D /dev/sdb1 -T ext2
> >> >>> mount03 1 PASS : mount(2) Passed for rwflag MS_RDONLY - mount  
> >> read-only
> >> >>> mount03 2 PASS : mount(2) Passed for rwflag MS_NODEV - disallow  
> >> access
> >> >>> to device special files
> >> >>> mount03 3 PASS : mount(2) Passed for rwflag MS_NOEXEC - disallow
> >> >>> program
> >> >>> execution
> >> >>> mount03 4 PASS : mount(2) Passed for rwflag MS_SYNCHRONOUS - writes  
> >> are
> >> >>> synced at once
> >> >>> mount03 5 PASS : mount(2) Passed for rwflag MS_REMOUNT - alter  
> >> flags of
> >> >>> a mounted FS
> >> >>> mount03 6 PASS : mount(2) Passed for rwflag MS_NOSUID - ignore suid  
> >> and
> >> >>> sgid bits
> >> >>>
> >> >>> Can you describe a little bit about the problem you were facing with
> >> >>> mount03?
> >> >>>
> >> >>> CAI Qian
> >> >>>
> >> >>>> Index: testcases/kernel/syscalls/mount/mount02.c
> >> >>>> ===================================================================
> >> >>>> ---
> >> >>>> testcases/kernel/syscalls/mount/mount02.c   (revision
> >> >>>> 297)
> >> >>>> +++
> >> >>>> testcases/kernel/syscalls/mount/mount02.c   (working
> >> >>>> copy)
> >> >>>> @@ -414,8 +414,8 @@
> >> >>>>
> >> >>>>    if (Tflag) {
> >> >>>>
> >> >>>>          /* Avoid buffer
> >> >>>> overflow */
> >> >>>>
> >> >>>>          strncpy(Type,
> >> >>>> fstype,
> >> >>>> -
> >> >>>>
> >> >>>>    (FSTYPE_LEN < strlen(fstype)) ?
> >> >>>> FSTYPE_LEN
> >> >>>> :
> >> >>>> -
> >> >>>>
> >> >>>> strlen(fstype));
> >> >>>> +
> >> >>>>
> >> >>>>    (FSTYPE_LEN < strlen(fstype)+1) ?
> >> >>>>
> >> >>>> FSTYPE_LEN :
> >> >>>> +
> >> >>>>
> >> >>>> strlen(fstype)+1);
> >> >>>>
> >> >>>>    } else {
> >> >>>>
> >> >>>>          strcpy(Type,
> >> >>>> "ext2");
> >> >>>>
> >> >>>>    }
> >> >>>>
> >> >>>>
> >> >>>> Index: mount03.c
> >> >>>> ===================================================================
> >> >>>> --- mount03.c    (revision 297)
> >> >>>> +++ mount03.c    (working copy)
> >> >>>> @@ -170,18 +170,20 @@
> >> >>>>       }
> >> >>>>
> >> >>>>       if (Tflag) {
> >> >>>> -        Fstype = (char *)
> >> >>>> malloc(strlen(fstype));
> >> >>>> +        Fstype = (char *)
> >> >>>> malloc(strlen(fstype)+1);
> >> >>>>           if (Fstype ==
> >> >>>> NULL) {
> >> >>>>
> >> >>>>     tst_brkm(TBROK, NULL, "malloc failed to
> >> >>>> alloc %d errno "
> >> >>>>
> >> >>>>          " %d ",
> >> >>>> strlen(fstype), errno);
> >> >>>>           }
> >> >>>> +        memset(Fstype, 0,
> >> >>>> strlen(fstype)+1);
> >> >>>>
> >> >>>> strncpy(Fstype, fstype, strlen(fstype));
> >> >>>>       } else {
> >> >>>> -        Fstype = (char *)
> >> >>>> malloc(strlen(DEFAULT_FSTYPE));
> >> >>>> +        Fstype = (char *)
> >> >>>> malloc(strlen(DEFAULT_FSTYPE)+1);
> >> >>>>           if (Fstype ==
> >> >>>> NULL) {
> >> >>>>
> >> >>>>     tst_brkm(TBROK, NULL, "malloc failed to
> >> >>>> alloc %d errno "
> >> >>>>
> >> >>>>          " %d ",
> >> >>>> strlen(fstype), errno);
> >> >>>>           }
> >> >>>> +        memset(Fstype, 0,
> >> >>>> strlen(DEFAULT_FSTYPE)+1);
> >> >>>>
> >> >>>> strncpy(Fstype, DEFAULT_FSTYPE, strlen(DEFAULT_FSTYPE));
> >> >>>>       }
> >> >>>>
> >> >>>> @@ -408,6 +410,7 @@
> >> >>>>
> >> >>>>
> >> >>>>      strerror(TEST_ERRNO));
> >> >>>>
> >> >>>>         }
> >> >>>>
> >> >>>>         execve(file, NULL,
> >> >>>> NULL);
> >> >>>> +
> >> >>>>     exit(-127);
> >> >>>>
> >> >>>>         /* NOT REACHEAD */
> >> >>>>
> >> >>>>     } else {
> >> >>>>
> >> >>>>         waitpid(pid,
> >> >>>> &status, 0);
> >> >>>>
> >> >>>> --
> >> >>>> Guo Hongruan, Embedded Linux Consultant
> >> >>>> Mobile: +86-0-13484056007
> >> >>>> Skype: camelguo
> >> >>>> http://www.gulessoft.com
> >> >>>>
> >> >>>>
> >> >>  
> >> ------------------------------------------------------------------------------
> >> >>>> This SF.net email is sponsored by:
> >> >>>> High Quality Requirements in a Collaborative Environment.
> >> >>>> Download a free trial of Rational Requirements Composer
> >> >>>> Now!
> >> >>>> http://p.sf.net/sfu/www-ibm-com
> >> >>>> _______________________________________________
> >> >>>> Ltp-list mailing list
> >> >>>> [email protected]
> >> >>>> https://lists.sourceforge.net/lists/listinfo/ltp-list
> >> >>>>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Guo Hongruan, Embedded Linux Consultant
> >> >> Mobile: +86-0-13484056007
> >> >> Skype: camelguo
> >> >> http://www.gulessoft.com
> >>
> >>
> >>
> >
> 
> 
> 
> -- 
> Guo Hongruan, Embedded Linux Consultant
> Mobile: +86-0-13484056007
> Skype: camelguo
> http://www.gulessoft.com


------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to