summaryrefslogtreecommitdiff
path: root/showtaints
blob: 5df7ca41fd11687adc04f23bf7dddc0324e2d055 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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