setrlimit05: Use another method to get bad address
PATCH v3 1/1 setrlimit05: Use another method to get bad address
v3:
Repair the format of indentation.
Drop explicit forced-convertion.
Modify commit log simply.
V2:
put tst_get_bad_add() to setup();
Hongzhi.Song (1):
kernel/syscall/setrlimit05.c: use a legal bad address for mips
testcases/kernel/syscalls/setrlimit/setrlimit05.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
Signature · 1 line
2.8.1
PATCH v3 1/1 kernel/syscall/setrlimit05.c: use a legal bad address for mips
This testcase fails on mips32. The process is killed by SIGBUS which is not as expect.
This is because:
((void *)-1) is not a legal bad address which causes the process killed by SIGBUG on mips.
'tst_get_bad_addr()' returns an address that should works on mips and other arches.
Signed-off-by Hongzhi.Song <[email protected]>
--- testcases/kernel/syscalls/setrlimit/setrlimit05.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
testcases/kernel/syscalls/setrlimit/setrlimit05.c +9 -1
@@ -26,6 +26,8 @@#include "tst_test.h" +static void *bad_addr; +static void verify_setrlimit (void ) {int status;
@@ -33,7 +35,7 @@ static void verify_setrlimit(void) pid =SAFE_FORK ();if (!pid) { -TEST (setrlimit (RLIMIT_NOFILE , (void *)-1 )); +TEST (setrlimit (RLIMIT_NOFILE , bad_addr));if (TST_RET !=-1 ) {tst_res (TFAIL ,"setrlimit() succeeded unexpectedly" );exit (0 );
@@ -67,7 +69,13 @@ static void verify_setrlimit(void)tst_res (TBROK ,"child %s" ,tst_strstatus (status)); } +static void setup (void ) +{ + bad_addr =tst_get_bad_addr (NULL ); +} +static struct tst_test test = { .test_all = verify_setrlimit, .forks_child =1 , + .setup = setup, };
Signature · 1 line
2.8.1
PATCH v3 1/1 kernel/syscall/setrlimit05.c: use a legal bad address for mips
Hi!
Applied, thanks.
Signature · 2 lines
Cyril Hrubis [email protected]