All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH 1/1] pkey01: Fix TBROK due missing results
Date: Fri,  9 Aug 2024 11:55:05 +0200	[thread overview]
Message-ID: <20240809095505.352377-1-pvorel@suse.cz> (raw)

PKEY_DISABLE_EXECUTE is ppc64le specific test. Due messages being
TINFO test on other archs fails:

    tst_test.c:1498: TBROK: Test 2 haven't reported results!

Changing messages to TCONF. Also exit loop on !execute_supported TCONF
(no need to have 30x TCONF with the same error message, because we have
PKEY_DISABLE_EXECUTE last). The other TCONF (on MAP_HUGETLB) must be
repeated.

Fixes: d2b8a476c2 ("pkey01: Adding test for PKEY_DISABLE_EXECUTE")
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
Hi Li, all,

if you don't like PKEY_DISABLE_EXECUTE having to be the last, we can
just have 30x TCONF (just to change both TINFO to TCONF). Whatever you prefer.

Kind regards,
Petr

 testcases/kernel/syscalls/pkeys/pkey01.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/testcases/kernel/syscalls/pkeys/pkey01.c b/testcases/kernel/syscalls/pkeys/pkey01.c
index e5db2c253c..a4b73c4056 100644
--- a/testcases/kernel/syscalls/pkeys/pkey01.c
+++ b/testcases/kernel/syscalls/pkeys/pkey01.c
@@ -51,7 +51,7 @@ static struct tcase {
 } tcases[] = {
 	{PERM_NAME(PKEY_DISABLE_ACCESS)},
 	{PERM_NAME(PKEY_DISABLE_WRITE)},
-	{PERM_NAME(PKEY_DISABLE_EXECUTE)},
+	{PERM_NAME(PKEY_DISABLE_EXECUTE)} /* keep it the last */
 };
 
 static void setup(void)
@@ -155,7 +155,7 @@ static size_t function_size(void (*func)(void))
 	return (size_t)(end - start + 1);
 }
 
-static void pkey_test(struct tcase *tc, struct mmap_param *mpa)
+static int pkey_test(struct tcase *tc, struct mmap_param *mpa)
 {
 	pid_t pid;
 	char *buffer;
@@ -165,13 +165,13 @@ static void pkey_test(struct tcase *tc, struct mmap_param *mpa)
 	size_t func_size = 0;
 
 	if (!execute_supported && (tc->access_rights == PKEY_DISABLE_EXECUTE)) {
-		tst_res(TINFO, "skip PKEY_DISABLE_EXECUTE test");
-		return;
+		tst_res(TCONF, "skip PKEY_DISABLE_EXECUTE test");
+		return 1;
 	}
 
 	if (!tst_hugepages && (mpa->flags & MAP_HUGETLB)) {
-		tst_res(TINFO, "Skip test on (%s) buffer", flag_to_str(mpa->flags));
-		return;
+		tst_res(TCONF, "Skip test on (%s) buffer", flag_to_str(mpa->flags));
+		return 0;
 	}
 
 	if (fd == 0)
@@ -253,6 +253,8 @@ static void pkey_test(struct tcase *tc, struct mmap_param *mpa)
 
 	if (pkey_free(pkey) == -1)
 		tst_brk(TBROK | TERRNO, "pkey_free failed");
+
+	return 0;
 }
 
 static void verify_pkey(unsigned int i)
@@ -265,7 +267,8 @@ static void verify_pkey(unsigned int i)
 	for (j = 0; j < ARRAY_SIZE(mmap_params); j++) {
 		mpa = &mmap_params[j];
 
-		pkey_test(tc, mpa);
+		if (pkey_test(tc, mpa))
+			break;
 	}
 }
 
-- 
2.45.2


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

             reply	other threads:[~2024-08-09  9:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-09  9:55 Petr Vorel [this message]
2024-08-09 11:40 ` [LTP] [PATCH 1/1] pkey01: Fix TBROK due missing results Li Wang
2024-08-09 11:54   ` Petr Vorel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240809095505.352377-1-pvorel@suse.cz \
    --to=pvorel@suse.cz \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.