[PATCH] selftests: run test_printf module

From: Kees Cook
Date: Tue Sep 29 2015 - 13:37:57 EST


This runs to test_printf module to make sure printf is operating sanely.

Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
---
Designed for us with "test_printf: test printf family at runtime":
http://www.spinics.net/lists/kernel/msg2083336.html
http://www.spinics.net/lists/kernel/msg2085894.html
---
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/lib/Makefile | 8 ++++++++
tools/testing/selftests/lib/printf.sh | 10 ++++++++++
3 files changed, 19 insertions(+)
create mode 100644 tools/testing/selftests/lib/Makefile
create mode 100755 tools/testing/selftests/lib/printf.sh

diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index cfe121353eec..4b4957b8df4e 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -6,6 +6,7 @@ TARGETS += firmware
TARGETS += ftrace
TARGETS += futex
TARGETS += kcmp
+TARGETS += lib
TARGETS += membarrier
TARGETS += memfd
TARGETS += memory-hotplug
diff --git a/tools/testing/selftests/lib/Makefile b/tools/testing/selftests/lib/Makefile
new file mode 100644
index 000000000000..47147b968514
--- /dev/null
+++ b/tools/testing/selftests/lib/Makefile
@@ -0,0 +1,8 @@
+# Makefile for lib/ function selftests
+
+# No binaries, but make sure arg-less "make" doesn't trigger "run_tests"
+all:
+
+TEST_PROGS := printf.sh
+
+include ../lib.mk
diff --git a/tools/testing/selftests/lib/printf.sh b/tools/testing/selftests/lib/printf.sh
new file mode 100755
index 000000000000..4fdc70fe6980
--- /dev/null
+++ b/tools/testing/selftests/lib/printf.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Runs printf infrastructure using test_printf kernel module
+
+if /sbin/modprobe -q test_printf; then
+ /sbin/modprobe -q -r test_printf
+ echo "printf: ok"
+else
+ echo "printf: [FAIL]"
+ exit 1
+fi
--
1.9.1


--
Kees Cook
Chrome OS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/