Seems good for me.
Subrata, just remember that this patch is against the open posix testsuite, we
should also send the patch to them.
Thanks,
Ricardo Salveti
On Wednesday 31 October 2007 09:02:23 Subrata Modak wrote:
>Thanks Jeff for pointing that out. I will go through and then put to
>CVS.
>--Subrata--
>
>On Tue, 2007-10-30 at 22:30 -0400, Jeff Mahoney wrote:
>> mmap test 23-1 is testing for one condition while violating another
>> constraint.
>>
>> pipe() returns two fds, one with read-only permissions and one with
>> write-only permissions. mmap() requires that there be at least read
>> permissions. The 23-1 test is trying to open the write-only end of the
>> pipe with PROT_READ|PROT_WRITE, which fails because read permissions
>> are not granted on the file descriptor. AFAIK SuS doesn't specify an
>> error code precedence that would force -ENODEV to be returned.
>>
>> Previously this test succeeded due only to the ordering of the tests
>> in the Linux kernel. Changes introduced in git commit
>> 80c5606c3b45e0176c32d3108ade1e1cb0b954f3 re-ordered the tests, which
>> caused the test for FMODE_READ to be above those for f_op->mmap(),
>> causing the mmap() call to return -EACCES instead of -ENODEV.
>>
>> This patch changes the test to use the read-only end of the pipe with
>> PROT_READ permissions, which passes the FMODE_READ check on the file
>> descriptor and returns -ENODEV.
>>
>> Signed-off-by: Jeff Mahoney <[EMAIL PROTECTED]>
>>
>> ---
>>
>> testcases/open_posix_testsuite/conformance/interfaces/mmap/23-1.c | 6
>> +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>>
>> ---
>> a/testcases/open_posix_testsuite/conformance/interfaces/mmap/23-1.c 2007-1
>>0-30 21:30:55.000000000 -0400 +++
>> b/testcases/open_posix_testsuite/conformance/interfaces/mmap/23-1.c 2007-1
>>0-30 21:27:43.000000000 -0400 @@ -35,7 +35,7 @@
>> void *pa = NULL;
>> void *addr = NULL;
>> size_t len = 1024;
>> - int prot = PROT_READ | PROT_WRITE;
>> + int prot = PROT_READ;
>> int flag = MAP_SHARED;
>> int fd;
>> off_t off = 0;
>> @@ -47,7 +47,7 @@
>> exit(PTS_UNRESOLVED);
>> }
>>
>> - fd = pipe_fd[1];
>> + fd = pipe_fd[0];
>> pa = mmap(addr, len, prot, flag, fd, off);
>> if (pa == MAP_FAILED && errno == ENODEV)
>> {
>> @@ -59,7 +59,7 @@
>> else
>> {
>> printf ("Test Fail: " TNAME
>> - " Expect ENODEF, get: %s\n", strerror(errno));
>> + " Expect ENODEV, get: %s\n", strerror(errno));
>> close(pipe_fd[0]);
>> close(pipe_fd[1]);
>> exit(PTS_FAIL);
--
Ricardo Salveti de Araujo
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list