[LTP] [PATCH] [COMMITTED] syscalls/fstat05: Fix failures
Cyril Hrubis
chrubis@suse.cz
Thu Apr 4 12:19:51 CEST 2019
Quoting Wei Li:
"
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.
"
This fixes the test by using the tst_get_bad_addr() instead of sbrk() + delta.
Reported-by: Wei Li <liwei391@huawei.com>
CC: Wei Li <liwei391@huawei.com>
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
testcases/kernel/syscalls/fstat/fstat05.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/testcases/kernel/syscalls/fstat/fstat05.c b/testcases/kernel/syscalls/fstat/fstat05.c
index 8de5d070a..200de4130 100644
--- a/testcases/kernel/syscalls/fstat/fstat05.c
+++ b/testcases/kernel/syscalls/fstat/fstat05.c
@@ -129,16 +129,11 @@ int SIG_SEEN = sizeof(siglist) / sizeof(int);
int main(int ac, char **av)
{
- struct stat stat_buf; /* stat structure buffer */
- struct stat *ptr_str;
+ struct stat *ptr_str = tst_get_bad_addr(NULL);
int lc;
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
*/
--
2.19.2
More information about the ltp
mailing list