public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Recent changes in LTP test results
@ 2004-06-29  1:46 Bryce Harrington
  2004-06-29  4:12 ` Andrew Morton
  2004-06-30  7:34 ` William Lee Irwin III
  0 siblings, 2 replies; 14+ messages in thread
From: Bryce Harrington @ 2004-06-29  1:46 UTC (permalink / raw)
  To: ltp-list; +Cc: Linux Kernel Mailing List

Here is a listing of LTP results for the linux kernel.  For the 2.6.x
series LTP results have been pretty constant, but they've gotten
interesting lately:

Patch Name           TestReq#     CPU  PASS  FAIL  WARN  BROK  RunTime
----------------------------------------------------------------------
patch-2.4.27-rc2       294321  2-way  7226     6     3     6    69.0
linux-2.6.7            294027  2-way  7225     6     3     6    46.0
linux-2.6.7            294004  1-way  7225     6     3     6    42.2
patch-2.6.7-bk1        294069  2-way  7224     7     3     6    45.9
patch-2.6.7-bk2        294081  2-way  7224     7     3     6    45.9
patch-2.6.7-bk3        294103  2-way  7224     7     3     6    46.4
patch-2.6.7-bk4        294165  2-way  7187     7     3     6    48.7
patch-2.6.7-bk5        294181  2-way  7181     7     3     6    45.5
patch-2.6.7-bk6        294204  2-way  7224     7     3     6    47.1
patch-2.6.7-bk7        294228  2-way  7224     7     3     6    49.0
patch-2.6.7-bk8        294304  2-way  7223    10     3     7    47.5
patch-2.6.7-bk9        294333  2-way  7224     7     3     6    46.1
patch-2.6.7-bk10       294403  2-way  7223    10     3     7    42.9
patch-2.6.7-bk11       294423  2-way  7178    46     3     6    47.8
2.6.7-mm1              294146  2-way  7185    46     3     6    59.1
2.6.7-mm1              294126  1-way  7185    46     3     6    52.9
2.6.7-mm2              294271  2-way  7181    47     3     6    44.9
2.6.7-mm3              294363  1-way  7185    46     3     6    41.0
2.6.7-rc3-mm2          293949  2-way  7223     8     3     6    46.5

We usually always see 6-7 fails on the 2.6.x kernels, so the increase is
unusual.

I've generated some detailed LTP test result reports on a few of the
above runs, with specifics about the test runs and failures.  These are
available here:

    http://developer.osdl.org/bryce/ltp/

HTH,
Bryce




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

* Re: Recent changes in LTP test results
  2004-06-29  1:46 Recent changes in LTP test results Bryce Harrington
@ 2004-06-29  4:12 ` Andrew Morton
  2004-06-30  7:24   ` Bryce Harrington
  2004-06-30  7:34 ` William Lee Irwin III
  1 sibling, 1 reply; 14+ messages in thread
From: Andrew Morton @ 2004-06-29  4:12 UTC (permalink / raw)
  To: Bryce Harrington; +Cc: ltp-list, linux-kernel

Bryce Harrington <bryce@osdl.org> wrote:
>
>  Here is a listing of LTP results for the linux kernel.  For the 2.6.x
>  series LTP results have been pretty constant, but they've gotten
>  interesting lately:
> 
>  Patch Name           TestReq#     CPU  PASS  FAIL  WARN  BROK  RunTime
>  ----------------------------------------------------------------------
>  patch-2.4.27-rc2       294321  2-way  7226     6     3     6    69.0
>  linux-2.6.7            294027  2-way  7225     6     3     6    46.0
>  linux-2.6.7            294004  1-way  7225     6     3     6    42.2
>  patch-2.6.7-bk1        294069  2-way  7224     7     3     6    45.9
>  patch-2.6.7-bk2        294081  2-way  7224     7     3     6    45.9
>  patch-2.6.7-bk3        294103  2-way  7224     7     3     6    46.4
>  patch-2.6.7-bk4        294165  2-way  7187     7     3     6    48.7
>  patch-2.6.7-bk5        294181  2-way  7181     7     3     6    45.5
>  patch-2.6.7-bk6        294204  2-way  7224     7     3     6    47.1
>  patch-2.6.7-bk7        294228  2-way  7224     7     3     6    49.0
>  patch-2.6.7-bk8        294304  2-way  7223    10     3     7    47.5
>  patch-2.6.7-bk9        294333  2-way  7224     7     3     6    46.1
>  patch-2.6.7-bk10       294403  2-way  7223    10     3     7    42.9
>  patch-2.6.7-bk11       294423  2-way  7178    46     3     6    47.8
>  2.6.7-mm1              294146  2-way  7185    46     3     6    59.1
>  2.6.7-mm1              294126  1-way  7185    46     3     6    52.9
>  2.6.7-mm2              294271  2-way  7181    47     3     6    44.9
>  2.6.7-mm3              294363  1-way  7185    46     3     6    41.0
>  2.6.7-rc3-mm2          293949  2-way  7223     8     3     6    46.5
> 
>  We usually always see 6-7 fails on the 2.6.x kernels, so the increase is
>  unusual.
> 
>  I've generated some detailed LTP test result reports on a few of the
>  above runs, with specifics about the test runs and failures.  These are
>  available here:
> 
>      http://developer.osdl.org/bryce/ltp/

Seems that the new failures are all related to failing to return -EFAULT
when passing a bad filename address into filesystem syscalls.

Perhaps this was fixed recently - they work OK here.

vmm:/usr/src/ltp-full-20031002# ./testcases/kernel/syscalls/access/access03       
access03    1  PASS  :  access((char *)-1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    2  PASS  :  access((char *)-1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    3  PASS  :  access((char*)-1,X_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    4  PASS  :  access((char*)-1,F_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    5  PASS  :  access((char*)sbrk(0)+1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    6  PASS  :  access((char*)sbrk(0)+1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    7  PASS  :  access(high_address,X_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    8  PASS  :  access((char*)sbrk(0)+1,F_OK) failed as expected with errno 14 (EFAULT) : Bad address
vmm:/usr/src/ltp-full-20031002# ./testcases/kernel/syscalls/access/access05
access05    1  PASS  :  access() fails, Read Access denied on file, errno:13
access05    2  PASS  :  access() fails, Write Access denied on file, errno:13
access05    3  PASS  :  access() fails, Execute Access denied on file, errno:13
access05    4  PASS  :  access() fails, Access mode invalid, errno:22
access05    5  PASS  :  access() fails, Address beyond address space, errno:14
access05    6  PASS  :  access() fails, Negative address, errno:14
access05    7  PASS  :  access() fails, Pathname is empty, errno:2
access05    8  PASS  :  access() fails, Pathname too long, errno:36
vmm:/usr/src/ltp-full-20031002# ./testcases/kernel/syscalls/chdir/chdir04  
chdir04     1  PASS  :  expected failure - errno = 36 : File name too long
chdir04     2  PASS  :  expected failure - errno = 2 : No such file or directory
chdir04     3  PASS  :  expected failure - errno = 14 : Bad address

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

* Re: Recent changes in LTP test results
  2004-06-29  4:12 ` Andrew Morton
@ 2004-06-30  7:24   ` Bryce Harrington
  0 siblings, 0 replies; 14+ messages in thread
From: Bryce Harrington @ 2004-06-30  7:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: ltp-list, linux-kernel

Hi Andrew,

Here's an update with mm4 and bk12:

On Mon, 28 Jun 2004, Andrew Morton wrote:
> Bryce Harrington <bryce@osdl.org> wrote:
> >
> >  Here is a listing of LTP results for the linux kernel.  For the 2.6.x
> >  series LTP results have been pretty constant, but they've gotten
> >  interesting lately:
> >
> >  Patch Name           TestReq#     CPU  PASS  FAIL  WARN  BROK  RunTime
> >  ----------------------------------------------------------------------
> >  patch-2.4.27-rc2       294321  2-way  7226     6     3     6    69.0
> >  linux-2.6.7            294027  2-way  7225     6     3     6    46.0
> >  linux-2.6.7            294004  1-way  7225     6     3     6    42.2
> >  patch-2.6.7-bk1        294069  2-way  7224     7     3     6    45.9
> >  patch-2.6.7-bk2        294081  2-way  7224     7     3     6    45.9
> >  patch-2.6.7-bk3        294103  2-way  7224     7     3     6    46.4
> >  patch-2.6.7-bk4        294165  2-way  7187     7     3     6    48.7
> >  patch-2.6.7-bk5        294181  2-way  7181     7     3     6    45.5
> >  patch-2.6.7-bk6        294204  2-way  7224     7     3     6    47.1
> >  patch-2.6.7-bk7        294228  2-way  7224     7     3     6    49.0
> >  patch-2.6.7-bk8        294304  2-way  7223    10     3     7    47.5
> >  patch-2.6.7-bk9        294333  2-way  7224     7     3     6    46.1
> >  patch-2.6.7-bk10       294403  2-way  7223    10     3     7    42.9
> >  patch-2.6.7-bk11       294423  2-way  7178    46     3     6    47.8
     patch-2.6.7-bk12       294442  2-way  7178    46     3     6    47.6

> >  2.6.7-mm1              294146  2-way  7185    46     3     6    59.1
> >  2.6.7-mm1              294126  1-way  7185    46     3     6    52.9
> >  2.6.7-mm2              294271  2-way  7181    47     3     6    44.9
> >  2.6.7-mm3              294363  1-way  7185    46     3     6    41.0
     2.6.7-mm4              294465  1-way  7178    46     3     6    42.1

> >  2.6.7-rc3-mm2          293949  2-way  7223     8     3     6    46.5
> >
> >  I've generated some detailed LTP test result reports on a few of the
> >  above runs, with specifics about the test runs and failures.  These are
> >  available here:
> >
> >      http://developer.osdl.org/bryce/ltp/
>
> Seems that the new failures are all related to failing to return -EFAULT
> when passing a bad filename address into filesystem syscalls.
>
> Perhaps this was fixed recently - they work OK here.

We're seeing the same behavior on the mm4 and bk12 kernels as before.
It looks like you're using a version of LTP from 2003...  If that's
true, could you try running the April 2004 version of LTP, just to rule
out it being a difference in test versions?

    http://prdownloads.sourceforge.net/ltp/ltp-full-20040405.tgz?download

Bryce

> vmm:/usr/src/ltp-full-20031002# ./testcases/kernel/syscalls/access/access03
> access03    1  PASS  :  access((char *)-1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    2  PASS  :  access((char *)-1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    3  PASS  :  access((char*)-1,X_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    4  PASS  :  access((char*)-1,F_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    5  PASS  :  access((char*)sbrk(0)+1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    6  PASS  :  access((char*)sbrk(0)+1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    7  PASS  :  access(high_address,X_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    8  PASS  :  access((char*)sbrk(0)+1,F_OK) failed as expected with errno 14 (EFAULT) : Bad address
> vmm:/usr/src/ltp-full-20031002# ./testcases/kernel/syscalls/access/access05
> access05    1  PASS  :  access() fails, Read Access denied on file, errno:13
> access05    2  PASS  :  access() fails, Write Access denied on file, errno:13
> access05    3  PASS  :  access() fails, Execute Access denied on file, errno:13
> access05    4  PASS  :  access() fails, Access mode invalid, errno:22
> access05    5  PASS  :  access() fails, Address beyond address space, errno:14
> access05    6  PASS  :  access() fails, Negative address, errno:14
> access05    7  PASS  :  access() fails, Pathname is empty, errno:2
> access05    8  PASS  :  access() fails, Pathname too long, errno:36
> vmm:/usr/src/ltp-full-20031002# ./testcases/kernel/syscalls/chdir/chdir04
> chdir04     1  PASS  :  expected failure - errno = 36 : File name too long
> chdir04     2  PASS  :  expected failure - errno = 2 : No such file or directory
> chdir04     3  PASS  :  expected failure - errno = 14 : Bad address
>


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

* Re: Recent changes in LTP test results
  2004-06-29  1:46 Recent changes in LTP test results Bryce Harrington
  2004-06-29  4:12 ` Andrew Morton
@ 2004-06-30  7:34 ` William Lee Irwin III
  2004-07-07  1:05   ` [LTP] " Bryce Harrington
  1 sibling, 1 reply; 14+ messages in thread
From: William Lee Irwin III @ 2004-06-30  7:34 UTC (permalink / raw)
  To: Bryce Harrington; +Cc: ltp-list, Linux Kernel Mailing List

On Mon, Jun 28, 2004 at 06:46:15PM -0700, Bryce Harrington wrote:
> We usually always see 6-7 fails on the 2.6.x kernels, so the increase is
> unusual.
> I've generated some detailed LTP test result reports on a few of the
> above runs, with specifics about the test runs and failures.  These are
> available here:
>     http://developer.osdl.org/bryce/ltp/

This looks related to some widely-propagated change in errno return
value (probably originating from some centralized source and cascading
up the call chains).


-- wli

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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-06-30  7:34 ` William Lee Irwin III
@ 2004-07-07  1:05   ` Bryce Harrington
  2004-07-07  2:10     ` Andrew Morton
  0 siblings, 1 reply; 14+ messages in thread
From: Bryce Harrington @ 2004-07-07  1:05 UTC (permalink / raw)
  To: William Lee Irwin III, Andrew Morton; +Cc: ltp-list, Linux Kernel Mailing List

On Wed, 30 Jun 2004, William Lee Irwin III wrote:
> On Mon, Jun 28, 2004 at 06:46:15PM -0700, Bryce Harrington wrote:
> > We usually always see 6-7 fails on the 2.6.x kernels, so the increase is
> > unusual.
> > I've generated some detailed LTP test result reports on a few of the
> > above runs, with specifics about the test runs and failures.  These are
> > available here:
> >     http://developer.osdl.org/bryce/ltp/
>
> This looks related to some widely-propagated change in errno return
> value (probably originating from some centralized source and cascading
> up the call chains).

The results listing has been updated.

    http://developer.osdl.org/bryce/ltp/

Briefly:

Patch Name           TestReq#    CPU  PASS  FAIL  WARN  BROK
patch-2.4.27-rc2       294321  2-way  7226     6     3     6
patch-2.4.27-rc3       294624  2-way  7226     6     3     6
patch-2.6.7-bk8        294304  2-way  7223    10     3     7
patch-2.6.7-bk9        294333  2-way  7224     7     3     6
patch-2.6.7-bk10       294403  2-way  7223    10     3     7
patch-2.6.7-bk11       294423  2-way  7178    46     3     6
patch-2.6.7-bk12       294442  2-way  7178    46     3     6
patch-2.6.7-bk13       294511  2-way  7178    46     3     6
patch-2.6.7-bk14       294573  2-way  7178    46     3     6
patch-2.6.7-bk15       294601  2-way  7178    46     3     6
patch-2.6.7-bk16       294614  2-way  7178    46     3     6
patch-2.6.7-bk17       294636  2-way  7178    46     3     6
patch-2.6.7-bk18       294648  2-way  7178    46     3     6
patch-2.6.7-bk19       294733  2-way  7178    46     3     6
2.6.7-mm2              294271  2-way  7181    47     3     6
2.6.7-mm3              294383  2-way  7185    46     3     6
2.6.7-mm4              294485  2-way  7177    46     3     3
2.6.7-mm5              294554  2-way  7178    46     3     6
2.6.7-mm6              294691  2-way  7178    46     3     6



No significant difference between the results for bk11 and bk19.
Namely:


--- failrpt_294423_2.6.7-bk11.txt       2004-06-28 17:35:18.000000000 -0700
+++ failrpt_294733_2.6.7-bk19.txt       2004-07-06 18:00:23.000000000 -0700
@@ -392,7 +392,7 @@
 Details:

 nanosleep02    1   FAIL : Remaining sleep time 3999392 usec doesn't
-                         match with the expected 3998364 usec time
+                         match with the expected 3997243 usec time
 nanosleep02    1   FAIL : child process exited abnormally



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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-07  1:05   ` [LTP] " Bryce Harrington
@ 2004-07-07  2:10     ` Andrew Morton
  2004-07-07 20:48       ` Bryce Harrington
  0 siblings, 1 reply; 14+ messages in thread
From: Andrew Morton @ 2004-07-07  2:10 UTC (permalink / raw)
  To: Bryce Harrington; +Cc: wli, ltp-list, linux-kernel

Bryce Harrington <bryce@osdl.org> wrote:
>
> The results listing has been updated.
> 
>      http://developer.osdl.org/bryce/ltp/
> 
>  Briefly:
> 
>  Patch Name           TestReq#    CPU  PASS  FAIL  WARN  BROK
> ...
>  2.6.7-mm6              294691  2-way  7178    46     3     6

Again, these tests do not fail for me, with ltp-full-20040603


vmm:/mnt/hda5/ltp-full-20040603> ./testcases/bin/access03
access03    1  PASS  :  access((char *)-1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    2  PASS  :  access((char *)-1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    3  PASS  :  access((char*)-1,X_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    4  PASS  :  access((char*)-1,F_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    5  PASS  :  access((char*)sbrk(0)+1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    6  PASS  :  access((char*)sbrk(0)+1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    7  PASS  :  access(high_address,X_OK) failed as expected with errno 14 (EFAULT) : Bad address
access03    8  PASS  :  access((char*)sbrk(0)+1,F_OK) failed as expected with errno 14 (EFAULT) : Bad address
vmm:/mnt/hda5/ltp-full-20040603> 

Can you please retest with ltp-full-20040603 and, if it still fails,
send me the .config and a description of the system and the compiler
version used to build the kernel?

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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-07  2:10     ` Andrew Morton
@ 2004-07-07 20:48       ` Bryce Harrington
  2004-07-07 21:14         ` David S. Miller
  2004-07-08  6:07         ` Andrew Morton
  0 siblings, 2 replies; 14+ messages in thread
From: Bryce Harrington @ 2004-07-07 20:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: wli, ltp-list, linux-kernel, testdev

On Tue, 6 Jul 2004, Andrew Morton wrote:
> Bryce Harrington <bryce@osdl.org> wrote:
> >
> > The results listing has been updated.
> >
> >      http://developer.osdl.org/bryce/ltp/
> >
> >  Briefly:
> >
> >  Patch Name           TestReq#    CPU  PASS  FAIL  WARN  BROK
> > ...
> >  2.6.7-mm6              294691  2-way  7178    46     3     6
>
> Again, these tests do not fail for me, with ltp-full-20040603
>
>
> vmm:/mnt/hda5/ltp-full-20040603> ./testcases/bin/access03
> access03    1  PASS  :  access((char *)-1,R_OK) failed as expected with errno 14 (EFAULT) : Bad address
> access03    2  PASS  :  access((char *)-1,W_OK) failed as expected with errno 14 (EFAULT) : Bad address
...
>
> Can you please retest with ltp-full-20040603 and, if it still fails,
> send me the .config and a description of the system and the compiler
> version used to build the kernel?

Hi Andrew,

I have retested with ltp-full-20040603.  This version of LTP hangs on
our system but fortunately completes most of the tests before doing so.
It indicates that it still encounters the same errors, e.g.:

access03       1   FAIL : access((char *)-1,R_OK) failed with errno 2 : No such file or directory but expected 14 (EFAULT)
access03       2   FAIL : access((char *)-1,W_OK) failed with errno 2 : No such file or directory but expected 14 (EFAULT)
...


Here is the .config, system description, compiler version, and other info:

Full results:      http://khack.osdl.org/stp/294760/

Kernel config:     http://khack.osdl.org/stp/294760/environment/kernel-config

System desc:       http://khack.osdl.org/stp/294760/environment/machine_info
                   http://khack.osdl.org/stp/294760/environment/System_Information-after.txt

RH9 Pkg upgrades:  http://khack.osdl.org/stp/294760/environment/package-upgrades

Syslog:            http://khack.osdl.org/stp/294760/environment/syslog-capture

Compiler and other tools:
    Distro                 Red Hat Linux release 9 (Shrike)
    Kernel                 Linux stp1-003 2.6.7-bk19 #1 Wed Jul 7 11:17:10 PDT 2004
    Compiler               gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
    Gnu make               3.79.1
    util-linux             2.11y
    mount                  2.11y
    modutils               2.4.22
    e2fsprogs              1.32
    pcmcia-cs              3.1.31
    PPP                    2.4.1
    isdn4k-utils           3.1pre4
    Linux C Library        2.3.2
    Dynamic linker (ldd)   2.3.2
    Procps                 2.0.11
    Net-tools              1.60
    Kbd                    1.08
    Sh-utils               4.5.3

Thanks,
Bryce


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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-07 20:48       ` Bryce Harrington
@ 2004-07-07 21:14         ` David S. Miller
  2004-07-09  0:19           ` Bryce Harrington
  2004-07-08  6:07         ` Andrew Morton
  1 sibling, 1 reply; 14+ messages in thread
From: David S. Miller @ 2004-07-07 21:14 UTC (permalink / raw)
  To: Bryce Harrington; +Cc: akpm, wli, ltp-list, linux-kernel, testdev

On Wed, 7 Jul 2004 13:48:52 -0700 (PDT)
Bryce Harrington <bryce@osdl.org> wrote:

> I have retested with ltp-full-20040603.  This version of LTP hangs on
> our system but fortunately completes most of the tests before doing so.
> It indicates that it still encounters the same errors, e.g.:

It hangs (actually, it OOPS's) on accept01, which is fixed in the current
BK sources via this patch:

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/07/06 22:02:06-07:00 davem@nuts.davemloft.net 
#   [IPV4]: Set UDP accept back to sock_no_accept.
#   
#   Setting it to inet_accept causes UDP accept attempts
#   to OOPS.  In particular, accept01 from LTP tries this.
#   
#   Signed-off-by: David S. Miller <davem@redhat.com>
# 
# net/ipv4/af_inet.c
#   2004/07/06 22:01:31-07:00 davem@nuts.davemloft.net +1 -1
#   [IPV4]: Set UDP accept back to sock_no_accept.
#   
#   Setting it to inet_accept causes UDP accept attempts
#   to OOPS.  In particular, accept01 from LTP tries this.
#   
#   Signed-off-by: David S. Miller <davem@redhat.com>
# 
diff -Nru a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
--- a/net/ipv4/af_inet.c	2004-07-07 14:09:13 -07:00
+++ b/net/ipv4/af_inet.c	2004-07-07 14:09:13 -07:00
@@ -823,7 +823,7 @@
 	.bind =		inet_bind,
 	.connect =	inet_dgram_connect,
 	.socketpair =	sock_no_socketpair,
-	.accept =	inet_accept,
+	.accept =	sock_no_accept,
 	.getname =	inet_getname,
 	.poll =		datagram_poll,
 	.ioctl =	inet_ioctl,

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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-07 20:48       ` Bryce Harrington
  2004-07-07 21:14         ` David S. Miller
@ 2004-07-08  6:07         ` Andrew Morton
  2004-07-09 20:40           ` Rik van Riel
  2004-07-09 23:43           ` Daniel McNeil
  1 sibling, 2 replies; 14+ messages in thread
From: Andrew Morton @ 2004-07-08  6:07 UTC (permalink / raw)
  To: Bryce Harrington; +Cc: wli, ltp-list, linux-kernel, testdev

Bryce Harrington <bryce@osdl.org> wrote:
>
> I have retested with ltp-full-20040603.  This version of LTP hangs on
>  our system but fortunately completes most of the tests before doing so.
>  It indicates that it still encounters the same errors, e.g.:
> 
>  access03       1   FAIL : access((char *)-1,R_OK) failed with errno 2 : No such file or directory but expected 14 (EFAULT)
>  access03       2   FAIL : access((char *)-1,W_OK) failed with errno 2 : No such file or directory but expected 14 (EFAULT)

Nope, sorry, still cannot reproduce it - you'll need to debug it at your end.

BTW, how long does a runalltests run take nowadays?  More than 90 minutes,
that's for sure.  That's quite irritating...

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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-07 21:14         ` David S. Miller
@ 2004-07-09  0:19           ` Bryce Harrington
  0 siblings, 0 replies; 14+ messages in thread
From: Bryce Harrington @ 2004-07-09  0:19 UTC (permalink / raw)
  To: David S. Miller; +Cc: akpm, wli, ltp-list, linux-kernel, testdev

Hi David,

Thanks, I tried this patch out, and it does fix the accept01 error.  :-)

    http://khack.osdl.org/stp/294783/

Do you have ideas on the other failures encountered?

Bryce

On Wed, 7 Jul 2004, David S. Miller wrote:
> On Wed, 7 Jul 2004 13:48:52 -0700 (PDT)
> Bryce Harrington <bryce@osdl.org> wrote:
>
> > I have retested with ltp-full-20040603.  This version of LTP hangs on
> > our system but fortunately completes most of the tests before doing so.
> > It indicates that it still encounters the same errors, e.g.:
>
> It hangs (actually, it OOPS's) on accept01, which is fixed in the current
> BK sources via this patch:
>
> # This is a BitKeeper generated diff -Nru style patch.
> #
> # ChangeSet
> #   2004/07/06 22:02:06-07:00 davem@nuts.davemloft.net
> #   [IPV4]: Set UDP accept back to sock_no_accept.
> #
> #   Setting it to inet_accept causes UDP accept attempts
> #   to OOPS.  In particular, accept01 from LTP tries this.
> #
> #   Signed-off-by: David S. Miller <davem@redhat.com>
> #
> # net/ipv4/af_inet.c
> #   2004/07/06 22:01:31-07:00 davem@nuts.davemloft.net +1 -1
> #   [IPV4]: Set UDP accept back to sock_no_accept.
> #
> #   Setting it to inet_accept causes UDP accept attempts
> #   to OOPS.  In particular, accept01 from LTP tries this.
> #
> #   Signed-off-by: David S. Miller <davem@redhat.com>
> #
> diff -Nru a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
> --- a/net/ipv4/af_inet.c	2004-07-07 14:09:13 -07:00
> +++ b/net/ipv4/af_inet.c	2004-07-07 14:09:13 -07:00
> @@ -823,7 +823,7 @@
>  	.bind =		inet_bind,
>  	.connect =	inet_dgram_connect,
>  	.socketpair =	sock_no_socketpair,
> -	.accept =	inet_accept,
> +	.accept =	sock_no_accept,
>  	.getname =	inet_getname,
>  	.poll =		datagram_poll,
>  	.ioctl =	inet_ioctl,
>


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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-08  6:07         ` Andrew Morton
@ 2004-07-09 20:40           ` Rik van Riel
  2004-07-09 23:43           ` Daniel McNeil
  1 sibling, 0 replies; 14+ messages in thread
From: Rik van Riel @ 2004-07-09 20:40 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Bryce Harrington, wli, ltp-list, linux-kernel, testdev

On Wed, 7 Jul 2004, Andrew Morton wrote:

> BTW, how long does a runalltests run take nowadays?  More than 90 minutes,
> that's for sure.  That's quite irritating...

Run with '-x 10' to run 10 tests in parallel ;)

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan


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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-08  6:07         ` Andrew Morton
  2004-07-09 20:40           ` Rik van Riel
@ 2004-07-09 23:43           ` Daniel McNeil
  2004-07-10  6:45             ` Andrew Morton
  1 sibling, 1 reply; 14+ messages in thread
From: Daniel McNeil @ 2004-07-09 23:43 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Bryce Harrington, wli, ltp-list, Linux Kernel Mailing List,
	testdev@osdl.org, Mark Haverkamp

On Wed, 2004-07-07 at 23:07, Andrew Morton wrote:
> Bryce Harrington <bryce@osdl.org> wrote:
> >
> > I have retested with ltp-full-20040603.  This version of LTP hangs on
> >  our system but fortunately completes most of the tests before doing so.
> >  It indicates that it still encounters the same errors, e.g.:
> > 
> >  access03       1   FAIL : access((char *)-1,R_OK) failed with errno 2 : No such file or directory but expected 14 (EFAULT)
> >  access03       2   FAIL : access((char *)-1,W_OK) failed with errno 2 : No such file or directory but expected 14 (EFAULT)
> 
> Nope, sorry, still cannot reproduce it - you'll need to debug it at your end.


Andrew,

Mark and I are able to reproduce this with the simple
program below.  The mmap() PROT_NONE is not giving a EFAULT
on read.  The test was mmap a PROT_NONE address and passing
that into the access() syscall and then looking for a
EFAULT.  Instead it was getting ENOENT.  We found that
by backing out the nx-update.patch from -mm1 patches
the problem went away.

The /proc/pid/maps looked like this:

without nx-update patch:
40017000-40018000 ---p 40017000 00:00 0
=====
with -mm1:
40017000-40018000 --xp 40017000 00:00 0

So it looks like the page being executable allows read
access.

Not sure why you do not see this on your machine.  This
fails on my 2-proc xeon box (and all the STP machines).

I can send more info if you need it.

Daniel (and Mark)

#include <unistd.h>
#include <errno.h>
#include <sys/mman.h>


main()
{
	char *p0 = 0;
	char *p1 = (char *)-1;
	char *p2;
	int err;

	p2 = mmap(0, 4096, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);

	errno = 0;
	err = access(p0, R_OK);
	printf("access 0 ptr %p return code %d errno %d\n", p0, err, errno);
	perror("access result:");
	errno = 0;
	err = access(p1, R_OK);
	printf("access 1 ptr %p return code %d errno %d\n", p1, err, errno);
	perror("access result:");
	errno = 0;
	err = access(p2, R_OK);
	printf("access 2 ptr %p return code %d errno %d\n", p2, err, errno);
	perror("access result:");
}



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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-09 23:43           ` Daniel McNeil
@ 2004-07-10  6:45             ` Andrew Morton
  2004-07-12 20:49               ` Daniel McNeil
  0 siblings, 1 reply; 14+ messages in thread
From: Andrew Morton @ 2004-07-10  6:45 UTC (permalink / raw)
  To: Daniel McNeil; +Cc: bryce, wli, ltp-list, linux-kernel, testdev, markh

Daniel McNeil <daniel@osdl.org> wrote:
>
> The /proc/pid/maps looked like this:
> 
>  without nx-update patch:
>  40017000-40018000 ---p 40017000 00:00 0
>  =====
>  with -mm1:
>  40017000-40018000 --xp 40017000 00:00 0

Here's mine, with current -linus bk:

40000000-40001000 ---p 40000000 00:00 0 

>  So it looks like the page being executable allows read
>  access.
> 
>  Not sure why you do not see this on your machine.  This
>  fails on my 2-proc xeon box (and all the STP machines).
> 


#include <unistd.h>
#include <errno.h>
#include <sys/mman.h>


main()
{
	char *p0 = 0;
	char *p1 = (char *)-1;
	char *p2;
	int err;

	p2 = mmap(0, 4096, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);

	printf("p2=%p\n", p2);
	printf("pid=%d\n", getpid());

	getchar();

	errno = 0;
	err = access(p0, R_OK);
	printf("access 0 ptr %p return code %d errno %d\n", p0, err, errno);
	perror("access result:");
	errno = 0;
	err = access(p1, R_OK);
	printf("access 1 ptr %p return code %d errno %d\n", p1, err, errno);
	perror("access result:");
	errno = 0;
	err = access(p2, R_OK);
	printf("access 2 ptr %p return code %d errno %d\n", p2, err, errno);
	perror("access result:");
}

vmm:/home/akpm> ./x
p2=0x40000000
pid=2038

access 0 ptr (nil) return code -1 errno 14
access result:: Bad address
access 1 ptr 0xffffffff return code -1 errno 14
access result:: Bad address
access 2 ptr 0x40000000 return code -1 errno 14
access result:: Bad address

I get this result on both p4 xeon and p3 xeon.

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

* Re: [LTP] Re: Recent changes in LTP test results
  2004-07-10  6:45             ` Andrew Morton
@ 2004-07-12 20:49               ` Daniel McNeil
  0 siblings, 0 replies; 14+ messages in thread
From: Daniel McNeil @ 2004-07-12 20:49 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Bryce Harrington, wli, ltp-list, Linux Kernel Mailing List,
	testdev@osdl.org, Mark Haverkamp

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

On Fri, 2004-07-09 at 23:45, Andrew Morton wrote:

> Here's mine, with current -linus bk:
> 
> 40000000-40001000 ---p 40000000 00:00 0 
> 
> >  So it looks like the page being executable allows read
> >  access.
> > 
> >  Not sure why you do not see this on your machine.  This
> >  fails on my 2-proc xeon box (and all the STP machines).
> > 
> 
> 
> #include <unistd.h>
> #include <errno.h>
> #include <sys/mman.h>
> 
> 
> main()
> {
> 	char *p0 = 0;
> 	char *p1 = (char *)-1;
> 	char *p2;
> 	int err;
> 
> 	p2 = mmap(0, 4096, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0);
> 
> 	printf("p2=%p\n", p2);
> 	printf("pid=%d\n", getpid());
> 
> 	getchar();
> 
> 	errno = 0;
> 	err = access(p0, R_OK);
> 	printf("access 0 ptr %p return code %d errno %d\n", p0, err, errno);
> 	perror("access result:");
> 	errno = 0;
> 	err = access(p1, R_OK);
> 	printf("access 1 ptr %p return code %d errno %d\n", p1, err, errno);
> 	perror("access result:");
> 	errno = 0;
> 	err = access(p2, R_OK);
> 	printf("access 2 ptr %p return code %d errno %d\n", p2, err, errno);
> 	perror("access result:");
> }
> 
> vmm:/home/akpm> ./x
> p2=0x40000000
> pid=2038
> 
> access 0 ptr (nil) return code -1 errno 14
> access result:: Bad address
> access 1 ptr 0xffffffff return code -1 errno 14
> access result:: Bad address
> access 2 ptr 0x40000000 return code -1 errno 14
> access result:: Bad address
> 
> I get this result on both p4 xeon and p3 xeon.


Andrew,

It is the elf file that makes the difference. I was using
gcc 3.2.2 and ld (GNU ld version 2.13.90.0.18 20030206).
This produces elf binary without the PT_GNU_STACK program
section (from objdump -p x.gcc322)

Program Header:
    PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
         filesz 0x000000c0 memsz 0x000000c0 flags r-x
  INTERP off    0x000000f4 vaddr 0x080480f4 paddr 0x080480f4 align 2**0
         filesz 0x00000013 memsz 0x00000013 flags r--
    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x00000750 memsz 0x00000750 flags r-x
    LOAD off    0x00000750 vaddr 0x08049750 paddr 0x08049750 align 2**12
         filesz 0x00000118 memsz 0x0000011c flags rw-
 DYNAMIC off    0x0000075c vaddr 0x0804975c paddr 0x0804975c align 2**2
         filesz 0x000000c8 memsz 0x000000c8 flags rw-
    NOTE off    0x00000108 vaddr 0x08048108 paddr 0x08048108 align 2**2
         filesz 0x00000020 memsz 0x00000020 flags r--

With gcc 3.4.1 and GNU ld version 2.14.90.0.6 20030820 and
compile with cc -o x.rw -z noexecstack x.c produces a 
elf binary without execute permission on the stack.
(from objdump -p x.rw)

Program Header:
    PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
         filesz 0x000000e0 memsz 0x000000e0 flags r-x
  INTERP off    0x00000114 vaddr 0x08048114 paddr 0x08048114 align 2**0
         filesz 0x00000013 memsz 0x00000013 flags r--
    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x00000735 memsz 0x00000735 flags r-x
    LOAD off    0x00000738 vaddr 0x08049738 paddr 0x08049738 align 2**12
         filesz 0x0000011c memsz 0x00000120 flags rw-
 DYNAMIC off    0x00000748 vaddr 0x08049748 paddr 0x08049748 align 2**2
         filesz 0x000000c8 memsz 0x000000c8 flags rw-
    NOTE off    0x00000128 vaddr 0x08048128 paddr 0x08048128 align 2**2
         filesz 0x00000020 memsz 0x00000020 flags r--
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-

With gcc 3.4.1 and GNU ld version 2.14.90.0.6 20030820 and
compiled with cc -o x.rwx -z execstack x.c.  This produces
the same binary as with out the "-z execstack".

Program Header:
    PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
         filesz 0x000000e0 memsz 0x000000e0 flags r-x
  INTERP off    0x00000114 vaddr 0x08048114 paddr 0x08048114 align 2**0
         filesz 0x00000013 memsz 0x00000013 flags r--
    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x00000735 memsz 0x00000735 flags r-x
    LOAD off    0x00000738 vaddr 0x08049738 paddr 0x08049738 align 2**12
         filesz 0x0000011c memsz 0x00000120 flags rw-
 DYNAMIC off    0x00000748 vaddr 0x08049748 paddr 0x08049748 align 2**2
         filesz 0x000000c8 memsz 0x000000c8 flags rw-
    NOTE off    0x00000128 vaddr 0x08048128 paddr 0x08048128 align 2**2
         filesz 0x00000020 memsz 0x00000020 flags r--
0x6474e551 off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rwx

Here's the corresponding /proc/pid/maps output from the
3 different binaries:


x.gcc322:	40013000-40014000 --xp 40013000 00:00 0
x.rw:		40013000-40014000 ---p 40013000 00:00 0
x.rwx:		40013000-40014000 ---p 40013000 00:00 0


So binaries compiled with an old compiler are not being
handled correctly with the nx-update.patch changes.

In load_elf_binary()

        for (i = 0; i < elf_ex.e_phnum; i++, elf_ppnt++)
                if (elf_ppnt->p_type == PT_GNU_STACK) {
                        if (elf_ppnt->p_flags & PF_X)
                                executable_stack = EXSTACK_ENABLE_X;
                        else
                                executable_stack = EXSTACK_DISABLE_X;
                        break;
                }
        if (i == elf_ex.e_phnum)
                def_flags |= VM_EXEC | VM_MAYEXEC;

This setting of def_flags if the PT_GNU_STACK is NOT found
is causing the old binaries to get exec on PROT_NONE mmaps.

I've attached the 3 elf binaries.

Daniel

[-- Attachment #2: x.gcc322 --]
[-- Type: application/x-executable-binary, Size: 20435 bytes --]

[-- Attachment #3: x.rw --]
[-- Type: application/x-executable-binary, Size: 12544 bytes --]

[-- Attachment #4: x.rwx --]
[-- Type: application/x-executable-binary, Size: 12544 bytes --]

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

end of thread, other threads:[~2004-07-12 20:52 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-29  1:46 Recent changes in LTP test results Bryce Harrington
2004-06-29  4:12 ` Andrew Morton
2004-06-30  7:24   ` Bryce Harrington
2004-06-30  7:34 ` William Lee Irwin III
2004-07-07  1:05   ` [LTP] " Bryce Harrington
2004-07-07  2:10     ` Andrew Morton
2004-07-07 20:48       ` Bryce Harrington
2004-07-07 21:14         ` David S. Miller
2004-07-09  0:19           ` Bryce Harrington
2004-07-08  6:07         ` Andrew Morton
2004-07-09 20:40           ` Rik van Riel
2004-07-09 23:43           ` Daniel McNeil
2004-07-10  6:45             ` Andrew Morton
2004-07-12 20:49               ` Daniel McNeil

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