summaryrefslogtreecommitdiff
path: root/showtaints
diff options
context:
space:
mode:
authorPeter Wu <lekensteyn@gmail.com>2013-10-28 10:58:26 +0100
committerPeter Wu <lekensteyn@gmail.com>2013-10-28 10:58:26 +0100
commitf2f5b446a4ee6b4d7f2647058e32325cc4d668bc (patch)
treea5b12b135e737a914efa203520f45de9be312fae /showtaints
parente8ae4b17bb1b17ac30730f940568f713ebe1cded (diff)
downloadscripts-f2f5b446a4ee6b4d7f2647058e32325cc4d668bc.tar.gz
showtaints: display flags that taints the kernel
Created at 2012-11-12.
Diffstat (limited to 'showtaints')
-rwxr-xr-xshowtaints17
1 files changed, 17 insertions, 0 deletions
diff --git a/showtaints b/showtaints
new file mode 100755
index 0000000..5df7ca4
--- /dev/null
+++ b/showtaints
@@ -0,0 +1,17 @@
+#!/bin/bash
+for headers in /usr/src/linux-$(uname -r)/include/linux/kernel.h \
+ /usr/src/linux-*/include/linux/kernel.h; do
+ if [ -s "$headers" ]; then
+ KERNELH="$headers"
+ break
+ fi
+done
+read taints < /proc/sys/kernel/tainted
+bit=0
+while [ $((taints >> bit)) -ne 0 ]; do
+ if [ $((taints & (1 << bit))) -ne 0 ]; then
+ taint="$(awk "/#define TAINT_/{if(\$3 == $bit){print \$2}}" <"$KERNELH")"
+ echo "${taint-"Taint bit $bit is set"}"
+ fi
+ ((bit++))
+done