lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230711-nolibc-sizeof-long-gaps-v1-3-dc78c3b85fc3@weissschuh.net>
Date:   Tue, 11 Jul 2023 11:48:41 +0200
From:   Thomas Weißschuh <linux@...ssschuh.net>
To:     Willy Tarreau <w@....eu>, Shuah Khan <shuah@...nel.org>
Cc:     linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
        Zhangjin Wu <falcon@...ylab.org>,
        Thomas Weißschuh <linux@...ssschuh.net>
Subject: [PATCH 3/4] selftests/nolibc: simplify status argument

I'm not sure if this is an improvement over the previous patch.
If so it should be squashed into it.

Not-Signed-off-by
---
 tools/testing/selftests/nolibc/nolibc-test.c | 115 ++++++++++-----------------
 1 file changed, 40 insertions(+), 75 deletions(-)

diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c
index b7ed10512d67..754815c142f6 100644
--- a/tools/testing/selftests/nolibc/nolibc-test.c
+++ b/tools/testing/selftests/nolibc/nolibc-test.c
@@ -127,17 +127,13 @@ static void putcharn(char c, size_t n)
 	fputs(buf, stdout);
 }
 
-enum RESULT {
-	OK,
-	FAIL,
-	SKIPPED,
-};
+#define SKIPPED INT_MIN
 
-static void result(int llen, enum RESULT r)
+static void result(int llen, int r)
 {
 	const char *msg;
 
-	if (r == OK)
+	if (r == 0)
 		msg = " [OK]";
 	else if (r == SKIPPED)
 		msg = "[SKIPPED]";
@@ -162,7 +158,7 @@ static int expect_zr(int expr, int llen)
 	int ret = !(expr == 0);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -175,7 +171,7 @@ static int expect_nz(int expr, int llen)
 	int ret = !(expr != 0);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -188,7 +184,7 @@ static int expect_eq(uint64_t expr, int llen, uint64_t val)
 	int ret = !(expr == val);
 
 	llen += printf(" = %lld ", (long long)expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -201,7 +197,7 @@ static int expect_ne(int expr, int llen, int val)
 	int ret = !(expr != val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -214,7 +210,7 @@ static int expect_ge(int expr, int llen, int val)
 	int ret = !(expr >= val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -227,7 +223,7 @@ static int expect_gt(int expr, int llen, int val)
 	int ret = !(expr > val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -240,7 +236,7 @@ static int expect_le(int expr, int llen, int val)
 	int ret = !(expr <= val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -253,7 +249,7 @@ static int expect_lt(int expr, int llen, int val)
 	int ret = !(expr < val);
 
 	llen += printf(" = %d ", expr);
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -268,11 +264,10 @@ static int expect_syszr(int expr, int llen)
 	if (expr) {
 		ret = 1;
 		llen += printf(" = %d %s ", expr, errorname(errno));
-		result(llen, FAIL);
 	} else {
 		llen += printf(" = %d ", expr);
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -287,11 +282,10 @@ static int expect_syseq(int expr, int llen, int val)
 	if (expr != val) {
 		ret = 1;
 		llen += printf(" = %d %s ", expr, errorname(errno));
-		result(llen, FAIL);
 	} else {
 		llen += printf(" = %d ", expr);
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -306,11 +300,10 @@ static int expect_sysne(int expr, int llen, int val)
 	if (expr == val) {
 		ret = 1;
 		llen += printf(" = %d %s ", expr, errorname(errno));
-		result(llen, FAIL);
 	} else {
 		llen += printf(" = %d ", expr);
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -333,10 +326,8 @@ static int expect_syserr2(int expr, int expret, int experr1, int experr2, int ll
 			llen += printf(" != (%d %s) ", expret, errorname(experr1));
 		else
 			llen += printf(" != (%d %s %s) ", expret, errorname(experr1), errorname(experr2));
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -349,12 +340,9 @@ static int expect_ptrzr(const void *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (expr) {
+	if (expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -367,12 +355,9 @@ static int expect_ptrnz(const void *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (!expr) {
+	if (!expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -384,12 +369,9 @@ static int expect_ptreq(const void *expr, int llen, const void *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (expr != cmp) {
+	if (expr != cmp)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -401,12 +383,9 @@ static int expect_ptrne(const void *expr, int llen, const void *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%p> ", expr);
-	if (expr == cmp) {
+	if (expr == cmp)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -428,10 +407,8 @@ static int expect_ptrerr2(const void *expr, const void *expret, int experr1, int
 			llen += printf(" != (<%p> %s) ", expret, errorname(experr1));
 		else
 			llen += printf(" != (<%p> %s %s) ", expret, errorname(experr1), errorname(experr2));
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
 	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -443,12 +420,9 @@ static int expect_strzr(const char *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (expr) {
+	if (expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -461,12 +435,9 @@ static int expect_strnz(const char *expr, int llen)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (!expr) {
+	if (!expr)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -479,12 +450,9 @@ static int expect_streq(const char *expr, int llen, const char *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (strcmp(expr, cmp) != 0) {
+	if (strcmp(expr, cmp) != 0)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -497,12 +465,9 @@ static int expect_strne(const char *expr, int llen, const char *cmp)
 	int ret = 0;
 
 	llen += printf(" = <%s> ", expr);
-	if (strcmp(expr, cmp) == 0) {
+	if (strcmp(expr, cmp) == 0)
 		ret = 1;
-		result(llen, FAIL);
-	} else {
-		result(llen, OK);
-	}
+	result(llen, ret);
 	return ret;
 }
 
@@ -893,7 +858,7 @@ static int expect_vfprintf(int llen, size_t c, const char *expected, const char
 
 	memfile = fdopen(fd, "w+");
 	if (!memfile) {
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 
@@ -903,7 +868,7 @@ static int expect_vfprintf(int llen, size_t c, const char *expected, const char
 
 	if (w != c) {
 		llen += printf(" written(%d) != %d", w, (int) c);
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 
@@ -917,14 +882,14 @@ static int expect_vfprintf(int llen, size_t c, const char *expected, const char
 
 	if (r != w) {
 		llen += printf(" written(%d) != read(%d)", w, r);
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 
 	llen += printf(" \"%s\" = \"%s\"", expected, buf);
 	ret = strncmp(expected, buf, c);
 
-	result(llen, ret ? FAIL : OK);
+	result(llen, ret);
 	return ret;
 }
 
@@ -987,7 +952,7 @@ static int run_protection(int min, int max)
 #if defined(_NOLIBC_STACKPROTECTOR)
 	if (!__stack_chk_guard) {
 		llen += printf("__stack_chk_guard not initialized");
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 	}
 #endif
@@ -998,7 +963,7 @@ static int run_protection(int min, int max)
 	switch (pid) {
 	case -1:
 		llen += printf("fork()");
-		result(llen, FAIL);
+		result(llen, 1);
 		return 1;
 
 	case 0:
@@ -1014,10 +979,10 @@ static int run_protection(int min, int max)
 
 		if (pid == -1 || !WIFSIGNALED(status) || WTERMSIG(status) != SIGABRT) {
 			llen += printf("waitpid()");
-			result(llen, FAIL);
+			result(llen, 1);
 			return 1;
 		}
-		result(llen, OK);
+		result(llen, 0);
 		return 0;
 	}
 }

-- 
2.41.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ