From e45948d4be14c14eff0a5c8c8597a7523f2edff1 Mon Sep 17 00:00:00 2001 From: "Hongzhi.Song" Date: Tue, 20 Nov 2018 01:42:51 -0800 Subject: ltp: Use a legal bad address for mips in setrlimit05.c 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 Signed-off-by: Richard Purdie --- ...t05-Use-another-method-to-get-bad-address.patch | 61 ++++++++++++++++++++++ meta/recipes-extended/ltp/ltp_20180926.bb | 1 + 2 files changed, 62 insertions(+) create mode 100644 meta/recipes-extended/ltp/ltp/0001-setrlimit05-Use-another-method-to-get-bad-address.patch diff --git a/meta/recipes-extended/ltp/ltp/0001-setrlimit05-Use-another-method-to-get-bad-address.patch b/meta/recipes-extended/ltp/ltp/0001-setrlimit05-Use-another-method-to-get-bad-address.patch new file mode 100644 index 0000000000..4bfe2767d8 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/0001-setrlimit05-Use-another-method-to-get-bad-address.patch @@ -0,0 +1,61 @@ +From c4d02b23d12b7136b5739b3075e817fc037e41d4 Mon Sep 17 00:00:00 2001 +From: "Hongzhi.Song" +Date: Mon, 19 Nov 2018 23:07:01 -0800 +Subject: [PATCH] setrlimit05: Use another method to get bad address + +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. + +Upstream-Status: Accepted [80bed467bc6ab48a6cd88a8ab74ca15d08830cb0] + +Signed-off-by: Hongzhi.Song +--- + testcases/kernel/syscalls/setrlimit/setrlimit05.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit05.c b/testcases/kernel/syscalls/setrlimit/setrlimit05.c +index e7167229b4..004a149a65 100644 +--- a/testcases/kernel/syscalls/setrlimit/setrlimit05.c ++++ b/testcases/kernel/syscalls/setrlimit/setrlimit05.c +@@ -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, + }; +-- +2.11.0 + diff --git a/meta/recipes-extended/ltp/ltp_20180926.bb b/meta/recipes-extended/ltp/ltp_20180926.bb index 500ca0063d..e471904d8e 100644 --- a/meta/recipes-extended/ltp/ltp_20180926.bb +++ b/meta/recipes-extended/ltp/ltp_20180926.bb @@ -51,6 +51,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0001-netns_helper.sh-use-ping-6-when-ping6-is-not-avaliab.patch \ file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \ file://0001-statx-fix-compile-errors.patch \ + file://0001-setrlimit05-Use-another-method-to-get-bad-address.patch \ " S = "${WORKDIR}/git" -- cgit 1.2.3-korg