public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH v3] tst_taint: print readable error message instead of numerical codes
@ 2022-01-20 16:34 Kushal Chand
  2022-01-20 20:14 ` Petr Vorel
  0 siblings, 1 reply; 3+ messages in thread
From: Kushal Chand @ 2022-01-20 16:34 UTC (permalink / raw)
  To: ltp; +Cc: Kushal Chand

This patch stores the possible kernel tainted messages in taint_strings
and corresponding error is printed.

Fixes: #776
---
 lib/tst_taint.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/lib/tst_taint.c b/lib/tst_taint.c
index 49146aacb..e224984f5 100644
--- a/lib/tst_taint.c
+++ b/lib/tst_taint.c
@@ -8,6 +8,27 @@
 
 static unsigned int taint_mask = -1;
 
+static const char * const taint_strings[] = {
+				       "G (Propriety module loaded)",
+				       "F (Module force loaded)",
+				       "S (Running on out of spec system)",
+				       "R (Module force unloaded)",
+				       "M (Machine check exception)",
+				       "B (Bad page reference)",
+				       "U (User request)",
+				       "D (OOPS/BUG)",
+				       "A (ACPI table overridden)",
+				       "W (Warning)",
+				       "C (Staging driver loaded)",
+				       "I (Workaround BIOS/FW bug)",
+				       "O (Out of tree module loaded)",
+				       "E (Unsigned module loaded)",
+				       "L (Soft lock up occured)",
+				       "K (Live patched)",
+				       "X (Auxilary)",
+				       "T (Built with struct randomization)",
+};
+
 static unsigned int tst_taint_read(void)
 {
 	unsigned int val;
@@ -74,6 +95,7 @@ static int tst_taint_check_kver(unsigned int mask)
 void tst_taint_init(unsigned int mask)
 {
 	unsigned int taint = -1;
+	long unsigned int i;
 
 	if (mask == 0)
 		tst_brk(TBROK, "mask is not allowed to be 0");
@@ -90,7 +112,10 @@ void tst_taint_init(unsigned int mask)
 	}
 
 	if ((taint & taint_mask) != 0)
-		tst_brk(TBROK, "Kernel is already tainted: %u", taint);
+		for (i = 0; i < ARRAY_SIZE(taint_strings); i++)
+			if (taint & (1 << i))
+				tst_brk(TBROK, "Kernel is already tainted: %s",
+					taint_strings[i]);
 }
 
 
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-21  6:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-20 16:34 [LTP] [PATCH v3] tst_taint: print readable error message instead of numerical codes Kushal Chand
2022-01-20 20:14 ` Petr Vorel
2022-01-21  6:19   ` Petr Vorel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox