[igt-dev] [PATCH i-g-t 2/2] lib/kmod: Check for kernel taints before/after selftests

Chris Wilson chris at chris-wilson.co.uk
Thu Jan 7 10:43:28 UTC 2021


If the kernel generates a bad taint during the selftest (e.g. a
warning), declare the selftest to be a failure.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 lib/igt_kmod.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
index ebeacd6fc..2ae45a1a1 100644
--- a/lib/igt_kmod.c
+++ b/lib/igt_kmod.c
@@ -29,6 +29,7 @@
 #include "igt_core.h"
 #include "igt_kmod.h"
 #include "igt_sysfs.h"
+#include "igt_taints.h"
 
 /**
  * SECTION:igt_kmod
@@ -582,9 +583,12 @@ int igt_kselftest_execute(struct igt_kselftest *tst,
 			  const char *options,
 			  const char *result)
 {
+	unsigned long taints;
 	char buf[1024];
 	int err;
 
+	igt_skip_on(igt_kernel_tainted(&taints));
+
 	lseek(tst->kmsg, 0, SEEK_END);
 
 	snprintf(buf, sizeof(buf), "%s=1 %s", tl->param, options ?: "");
@@ -607,6 +611,8 @@ int igt_kselftest_execute(struct igt_kselftest *tst,
 		     "kselftest \"%s %s\" failed: %s [%d]\n",
 		     tst->module_name, buf, strerror(-err), -err);
 
+	igt_assert_eq(igt_kernel_tainted(&taints), 0);
+
 	return err;
 }
 
-- 
2.30.0



More information about the igt-dev mailing list