public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH] syscalls/fstat05.c: fix test logic error
@ 2019-02-21 14:02 Wei Li
  2019-03-13 14:36 ` Cyril Hrubis
  0 siblings, 1 reply; 3+ messages in thread
From: Wei Li @ 2019-02-21 14:02 UTC (permalink / raw)
  To: ltp

On my machine running linux-4.19.23, the fstat05 test case went failed:
[root@localhost ltp_20180926_src]# ./testcases/kernel/syscalls/fstat/fstat05
fstat05     1  TFAIL  :  fstat05.c:168: fstat() returned 0 but we wanted -1

Finally i found that, the end of head was expanded after invoking setup(), more
than 4 * getpagesize(), then ptr_str is not a point outside user's accessible
address space any more.

Before invoking setup():
[root@localhost home]# cat /proc/10299/maps 
00400000-00417000 r-xp 00000000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
0042f000-00430000 r--p 0001f000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00430000-00431000 rw-p 00020000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00431000-00434000 rw-p 00000000 00:00 0 
132dc000-132fd000 rw-p 00000000 00:00 0                                  [heap]
ffff92737000-ffff92747000 rw-p 00000000 00:00 0 
ffff92747000-ffff928bd000 r-xp 00000000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928bd000-ffff928d3000 ---p 00176000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d3000-ffff928d7000 r--p 0017c000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d7000-ffff928d9000 rw-p 00180000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d9000-ffff928dd000 rw-p 00000000 00:00 0 
ffff928dd000-ffff928fd000 r-xp 00000000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff92905000-ffff92908000 rw-p 00000000 00:00 0 
ffff92909000-ffff9291a000 rw-p 00000000 00:00 0 
ffff9291a000-ffff9291b000 r--p 00000000 00:00 0                          [vvar]
ffff9291b000-ffff9291c000 r-xp 00000000 00:00 0                          [vdso]
ffff9291c000-ffff9291d000 r--p 0002f000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291d000-ffff9291e000 rw-p 00030000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291e000-ffff9291f000 rw-p 00000000 00:00 0 
fffff5998000-fffff59b9000 rw-p 00000000 00:00 0                          [stack]

After invoking setup():
[root@localhost home]# cat /proc/10299/maps 
00400000-00417000 r-xp 00000000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
0042f000-00430000 r--p 0001f000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00430000-00431000 rw-p 00020000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00431000-00434000 rw-p 00000000 00:00 0 
132dc000-1350d000 rw-p 00000000 00:00 0                                  [heap]
ffff92705000-ffff92712000 r-xp 00000000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92712000-ffff92724000 ---p 0000d000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92724000-ffff92725000 r--p 0000f000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92725000-ffff92726000 rw-p 00010000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92737000-ffff92747000 rw-p 00000000 00:00 0 
ffff92747000-ffff928bd000 r-xp 00000000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928bd000-ffff928d3000 ---p 00176000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d3000-ffff928d7000 r--p 0017c000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d7000-ffff928d9000 rw-p 00180000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d9000-ffff928dd000 rw-p 00000000 00:00 0 
ffff928dd000-ffff928fd000 r-xp 00000000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff92905000-ffff92908000 rw-p 00000000 00:00 0 
ffff92909000-ffff9291a000 rw-p 00000000 00:00 0 
ffff9291a000-ffff9291b000 r--p 00000000 00:00 0                          [vvar]
ffff9291b000-ffff9291c000 r-xp 00000000 00:00 0                          [vdso]
ffff9291c000-ffff9291d000 r--p 0002f000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291d000-ffff9291e000 rw-p 00030000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291e000-ffff9291f000 rw-p 00000000 00:00 0 
fffff5998000-fffff59b9000 rw-p 00000000 00:00 0                          [stack]
[root@localhost home]# 

Signed-off-by: Wei Li <liwei391@huawei.com>
---
 testcases/kernel/syscalls/fstat/fstat05.c             | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/syscalls/fstat/fstat05.c b/testcases/kernel/syscalls/fstat/fstat05.c
index 8de5d070a..b10285cbe 100644
--- a/testcases/kernel/syscalls/fstat/fstat05.c
+++ b/testcases/kernel/syscalls/fstat/fstat05.c
@@ -135,15 +135,15 @@ int main(int ac, char **av)
 
 	tst_parse_opts(ac, av, NULL, NULL);
 
-	/* Buffer points outside user's accessible address space. */
-	ptr_str = &stat_buf;	/* if it was for conformance testing */
-	ptr_str = (void *)sbrk(0) + (4 * getpagesize());
-
 	/*
 	 * Invoke setup function
 	 */
 	setup();
 
+	/* Buffer points outside user's accessible address space. */
+	ptr_str = &stat_buf;	/* if it was for conformance testing */
+	ptr_str = (void *)sbrk(0) + (4 * getpagesize());
+
 	for (lc = 0; TEST_LOOPING(lc); lc++) {
 
 		tst_count = 0;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [LTP] [PATCH] syscalls/fstat05.c: fix test logic error
@ 2019-02-23  2:59 Wei Li
  0 siblings, 0 replies; 3+ messages in thread
From: Wei Li @ 2019-02-23  2:59 UTC (permalink / raw)
  To: ltp

On my machine running linux-4.19.23, the fstat05 test case went failed:
[root@localhost ltp_20180926_src]# ./testcases/kernel/syscalls/fstat/fstat05
fstat05     1  TFAIL  :  fstat05.c:168: fstat() returned 0 but we wanted -1

Finally i found that, the end of head was expanded after invoking setup(), more
than 4 * getpagesize(), then ptr_str is not a point outside user's accessible
address space any more.

Before invoking setup():
[root@localhost home]# cat /proc/10299/maps 
00400000-00417000 r-xp 00000000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
0042f000-00430000 r--p 0001f000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00430000-00431000 rw-p 00020000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00431000-00434000 rw-p 00000000 00:00 0 
132dc000-132fd000 rw-p 00000000 00:00 0                                  [heap]
ffff92737000-ffff92747000 rw-p 00000000 00:00 0 
ffff92747000-ffff928bd000 r-xp 00000000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928bd000-ffff928d3000 ---p 00176000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d3000-ffff928d7000 r--p 0017c000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d7000-ffff928d9000 rw-p 00180000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d9000-ffff928dd000 rw-p 00000000 00:00 0 
ffff928dd000-ffff928fd000 r-xp 00000000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff92905000-ffff92908000 rw-p 00000000 00:00 0 
ffff92909000-ffff9291a000 rw-p 00000000 00:00 0 
ffff9291a000-ffff9291b000 r--p 00000000 00:00 0                          [vvar]
ffff9291b000-ffff9291c000 r-xp 00000000 00:00 0                          [vdso]
ffff9291c000-ffff9291d000 r--p 0002f000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291d000-ffff9291e000 rw-p 00030000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291e000-ffff9291f000 rw-p 00000000 00:00 0 
fffff5998000-fffff59b9000 rw-p 00000000 00:00 0                          [stack]

After invoking setup():
[root@localhost home]# cat /proc/10299/maps 
00400000-00417000 r-xp 00000000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
0042f000-00430000 r--p 0001f000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00430000-00431000 rw-p 00020000 fc:01 63312180                           /home/CI_DATA/20190213141353/testcase/kernel_test/ltp_20180926/ltp_20180926_src/testcases/kernel/syscalls/fstat/fstat05
00431000-00434000 rw-p 00000000 00:00 0 
132dc000-1350d000 rw-p 00000000 00:00 0                                  [heap]
ffff92705000-ffff92712000 r-xp 00000000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92712000-ffff92724000 ---p 0000d000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92724000-ffff92725000 r--p 0000f000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92725000-ffff92726000 rw-p 00010000 fc:02 266064                     /usr/lib64/libnss_files-2.20-2014.11.so
ffff92737000-ffff92747000 rw-p 00000000 00:00 0 
ffff92747000-ffff928bd000 r-xp 00000000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928bd000-ffff928d3000 ---p 00176000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d3000-ffff928d7000 r--p 0017c000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d7000-ffff928d9000 rw-p 00180000 fc:02 266045                     /usr/lib64/libc-2.20-2014.11.so
ffff928d9000-ffff928dd000 rw-p 00000000 00:00 0 
ffff928dd000-ffff928fd000 r-xp 00000000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff92905000-ffff92908000 rw-p 00000000 00:00 0 
ffff92909000-ffff9291a000 rw-p 00000000 00:00 0 
ffff9291a000-ffff9291b000 r--p 00000000 00:00 0                          [vvar]
ffff9291b000-ffff9291c000 r-xp 00000000 00:00 0                          [vdso]
ffff9291c000-ffff9291d000 r--p 0002f000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291d000-ffff9291e000 rw-p 00030000 fc:02 266038                     /usr/lib64/ld-2.20-2014.11.so
ffff9291e000-ffff9291f000 rw-p 00000000 00:00 0 
fffff5998000-fffff59b9000 rw-p 00000000 00:00 0                          [stack]
[root@localhost home]# 

Signed-off-by: Wei Li <liwei391@huawei.com>
---
 testcases/kernel/syscalls/fstat/fstat05.c             | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/syscalls/fstat/fstat05.c b/testcases/kernel/syscalls/fstat/fstat05.c
index 8de5d070a..b10285cbe 100644
--- a/testcases/kernel/syscalls/fstat/fstat05.c
+++ b/testcases/kernel/syscalls/fstat/fstat05.c
@@ -135,15 +135,15 @@ int main(int ac, char **av)
 
 	tst_parse_opts(ac, av, NULL, NULL);
 
-	/* Buffer points outside user's accessible address space. */
-	ptr_str = &stat_buf;	/* if it was for conformance testing */
-	ptr_str = (void *)sbrk(0) + (4 * getpagesize());
-
 	/*
 	 * Invoke setup function
 	 */
 	setup();
 
+	/* Buffer points outside user's accessible address space. */
+	ptr_str = &stat_buf;	/* if it was for conformance testing */
+	ptr_str = (void *)sbrk(0) + (4 * getpagesize());
+
 	for (lc = 0; TEST_LOOPING(lc); lc++) {
 
 		tst_count = 0;
-- 
2.17.1


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

end of thread, other threads:[~2019-03-13 14:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-21 14:02 [LTP] [PATCH] syscalls/fstat05.c: fix test logic error Wei Li
2019-03-13 14:36 ` Cyril Hrubis
  -- strict thread matches above, loose matches on Subject: below --
2019-02-23  2:59 Wei Li

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