• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/sh -xe
2
3conf=${1}; shift
4test=${1}
5crasher=crasher
6lkdtm=lkdtm
7
8. "${conf}"
9
10case "${test}" in
11
12	"KEXEC-L")
13                kexec -l /boot/vmlinuz --initrd=/boot/initrd \
14                 --append="$(cat /proc/cmdline)"
15                sleep 10
16                kexec -e
17                ;;
18        "MNS")
19                echo "Not implemented"
20                ;;
21
22        "MNN")
23                echo "Not implemented"
24                ;;
25
26        "MCS")
27                echo "Not implemented"
28                ;;
29
30        "MCN")
31                echo "Not implemented"
32                ;;
33
34        "MCF")
35                echo "Not implemented"
36                ;;
37
38	"ACS")
39		echo c >/proc/sysrq-trigger
40		;;
41
42	"ACP")
43		# Panic test 0 in crasher module: panic()
44		insmod "${crasher}"/crasher.ko
45		echo 0 >/proc/crasher
46		;;
47
48	"ACB")
49		# Panic test 1 in crasher module: BUG()
50		insmod "${crasher}"/crasher.ko
51		echo 1 >/proc/crasher
52		;;
53
54	"ACE")
55		# Panic test 2 in crasher module: panic_on_oops
56		insmod "${crasher}"/crasher.ko
57		echo 1 >/proc/sys/kernel/panic_on_oops
58		echo 2 >/proc/crasher
59		;;
60
61	"ACL")
62		# Panic test 3 in crasher module: hang w/double spinlock
63		# requires nmi_watchdog be enabled
64		insmod "${crasher}"/crasher.ko
65		echo 3 >/proc/crasher
66		;;
67
68	"KPIDB")
69		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HARDWARE_ENTRY cpoint_type=BUG cpoint_count=05
70		;;
71	"KPIDE")
72		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HARDWARE_ENTRY cpoint_type=EXCEPTION cpoint_count=05
73		;;
74	"KPIDL")
75		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HARDWARE_ENTRY cpoint_type=LOOP cpoint_count=05
76		;;
77	"KPIDP")
78		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HARDWARE_ENTRY cpoint_type=PANIC cpoint_count=05
79		;;
80	"KPIDO")
81		echo 1 >/proc/sys/kernel/panic_on_oops
82		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HARDWARE_ENTRY cpoint_type=OVERFLOW cpoint_count=10
83		;;
84	"KPIEB")
85		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HW_IRQ_EN cpoint_type=BUG cpoint_count=10
86		;;
87	"KPIEE")
88		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HW_IRQ_EN cpoint_type=EXCEPTION cpoint_count=10
89		;;
90	"KPIEL")
91		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HW_IRQ_EN cpoint_type=LOOP cpoint_count=10
92		;;
93	"KPIEP")
94		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HW_IRQ_EN cpoint_type=PANIC cpoint_count=10
95		;;
96	"KPIEO")
97		echo 1 >/proc/sys/kernel/panic_on_oops
98		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_HW_IRQ_EN cpoint_type=OVERFLOW cpoint_count=10
99		;;
100	"KPTEB")
101		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_TASKLET_ENTRY cpoint_type=BUG cpoint_count=10
102		;;
103	"KPTEE")
104		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_TASKLET_ENTRY cpoint_type=EXCEPTION cpoint_count=10
105		;;
106	"KPTEL")
107		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_TASKLET_ENTRY cpoint_type=LOOP cpoint_count=10
108		;;
109	"KPTEP")
110		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_TASKLET_ENTRY cpoint_type=PANIC cpoint_count=10
111		;;
112	"KPTEO")
113		echo 1 >/proc/sys/kernel/panic_on_oops
114		insmod "${lkdtm}"/lkdtm.ko cpoint_name=INT_TASKLET_ENTRY cpoint_type=OVERFLOW cpoint_count=10
115		;;
116	"KPBB")
117		insmod "${lkdtm}"/lkdtm.ko cpoint_name=FS_DEVRW cpoint_type=BUG cpoint_count=10
118		;;
119	"KPBE")
120		insmod "${lkdtm}"/lkdtm.ko cpoint_name=FS_DEVRW cpoint_type=EXCEPTION cpoint_count=10
121		;;
122	"KPBL")
123		insmod "${lkdtm}"/lkdtm.ko cpoint_name=FS_DEVRW cpoint_type=LOOP cpoint_count=10
124		;;
125	"KPBP")
126		insmod "${lkdtm}"/lkdtm.ko cpoint_name=FS_DEVRW cpoint_type=PANIC cpoint_count=10
127		;;
128	"KPBO")
129		echo 1 >/proc/sys/kernel/panic_on_oops
130		insmod "${lkdtm}"/lkdtm.ko cpoint_name=FS_DEVRW cpoint_type=OVERFLOW cpoint_count=10
131		;;
132	"KPMSB")
133		insmod "${lkdtm}"/lkdtm.ko cpoint_name=MEM_SWAPOUT cpoint_type=BUG cpoint_count=10
134		;;
135	"KPMSE")
136		insmod "${lkdtm}"/lkdtm.ko cpoint_name=MEM_SWAPOUT cpoint_type=EXCEPTION cpoint_count=10
137		;;
138	"KPMSL")
139		insmod "${lkdtm}"/lkdtm.ko cpoint_name=MEM_SWAPOUT cpoint_type=LOOP cpoint_count=10
140		;;
141	"KPMSP")
142		insmod "${lkdtm}"/lkdtm.ko cpoint_name=MEM_SWAPOUT cpoint_type=PANIC cpoint_count=10
143		;;
144	"KPMSO")
145		echo 1 >/proc/sys/kernel/panic_on_oops
146		insmod "${lkdtm}"/lkdtm.ko cpoint_name=MEM_SWAPOUT cpoint_type=OVERFLOW cpoint_count=10
147		;;
148	"KPTB")
149		insmod "${lkdtm}"/lkdtm.ko cpoint_name=TIMERADD cpoint_type=BUG cpoint_count=10
150		;;
151	"KPTE")
152		insmod "${lkdtm}"/lkdtm.ko cpoint_name=TIMERADD cpoint_type=EXCEPTION cpoint_count=10
153		;;
154	"KPTL")
155		insmod "${lkdtm}"/lkdtm.ko cpoint_name=TIMERADD cpoint_type=LOOP cpoint_count=10
156		;;
157	"KPTP")
158		insmod "${lkdtm}"/lkdtm.ko cpoint_name=TIMERADD cpoint_type=PANIC cpoint_count=10
159		;;
160	"KPTO")
161		echo 1 >/proc/sys/kernel/panic_on_oops
162		insmod "${lkdtm}"/lkdtm.ko cpoint_name=TIMERADD cpoint_type=OVERFLOW cpoint_count=10
163		;;
164	"KPSB")
165		insmod "${lkdtm}"/lkdtm.ko cpoint_name=SCSI_DISPATCH_CMD cpoint_type=BUG cpoint_count=10
166		;;
167	"KPSE")
168		insmod "${lkdtm}"/lkdtm.ko cpoint_name=SCSI_DISPATCH_CMD cpoint_type=EXCEPTION cpoint_count=10
169		;;
170	"KPSL")
171		insmod "${lkdtm}"/lkdtm.ko cpoint_name=SCSI_DISPATCH_CMD cpoint_type=LOOP cpoint_count=10
172		;;
173	"KPSP")
174		insmod "${lkdtm}"/lkdtm.ko cpoint_name=SCSI_DISPATCH_CMD cpoint_type=PANIC cpoint_count=10
175		;;
176	"KPSO")
177		echo 1 >/proc/sys/kernel/panic_on_oops
178		insmod "${lkdtm}"/lkdtm.ko cpoint_name=SCSI_DISPATCH_CMD cpoint_type=OVERFLOW cpoint_count=10
179		;;
180	"KPIB")
181		insmod "${lkdtm}"/lkdtm.ko cpoint_name=IDE_CORE_CP cpoint_type=BUG cpoint_count=10
182		;;
183	"KPIE")
184		insmod "${lkdtm}"/lkdtm.ko cpoint_name=IDE_CORE_CP cpoint_type=EXCEPTION cpoint_count=10
185		;;
186	"KPIL")
187		insmod "${lkdtm}"/lkdtm.ko cpoint_name=IDE_CORE_CP cpoint_type=LOOP cpoint_count=10
188		;;
189	"KPIP")
190		insmod "${lkdtm}"/lkdtm.ko cpoint_name=IDE_CORE_CP cpoint_type=PANIC cpoint_count=10
191		;;
192	"KPIO")
193		echo 1 >/proc/sys/kernel/panic_on_oops
194		insmod "${lkdtm}"/lkdtm.ko cpoint_name=IDE_CORE_CP cpoint_type=OVERFLOW cpoint_count=01
195		;;
196        "KLEXT")
197                echo "ext3 ${EXT3_PART}" >/etc/kdump.conf
198                if [ "${FILTER}" -eq 1 ]; then
199                        echo "core_collector makedumpfile ${MAKE_OPTIONS}" >>/etc/kdump.conf
200                fi
201                /etc/init.d/kdump restart
202                echo c >/proc/sysrq-trigger
203                ;;
204
205        "KLLBL")
206                echo "ext3 LABEL=${EXT3_LABEL}" >/etc/kdump.conf
207                if [ "${FILTER}" -eq 1 ]; then
208                        echo "core_collector makedumpfile ${MAKE_OPTIONS}" >>/etc/kdump.conf
209                fi
210                /etc/init.d/kdump restart
211                echo c >/proc/sysrq-trigger
212                ;;
213
214        "KLUID")
215                echo "ext3 UUID=${EXT3_UID}" >/etc/kdump.conf
216                if [ "${FILTER}" -eq 1 ]; then
217                        echo "core_collector makedumpfile ${MAKE_OPTIONS}" >>/etc/kdump.conf
218                fi
219                /etc/init.d/kdump restart
220                echo c >/proc/sysrq-trigger
221                ;;
222
223        "KLRAW")
224                echo "raw ${RAW_PART}" >/etc/kdump.conf
225                if [ "${FILTER}" -eq 1 ]; then
226                        echo "core_collector makedumpfile ${MAKE_OPTIONS}" >>/etc/kdump.conf
227                fi
228                /etc/init.d/kdump restart
229                echo c >/proc/sysrq-trigger
230                ;;
231
232        "KNSCP")
233                echo "net ${SCP_PATH}" >/etc/kdump.conf
234                if [ "${LINK_DELAY}" ]; then
235                    echo "link_delay ${LINK_DELAY}" >>/etc/kdump.conf
236                fi
237
238                expect -f ./ssh.tcl "/etc/init.d/kdump propagate" "${SCP_PASS}"
239                if [ "${FILTER}" -eq 1 ]; then
240                        echo "core_collector makedumpfile ${MAKE_OPTIONS}" >>/etc/kdump.conf
241                fi
242                /etc/init.d/kdump restart
243                echo c >/proc/sysrq-trigger
244                ;;
245
246        "KNNFS")
247                echo "net ${NFS_PATH}" >/etc/kdump.conf
248                if [ "${LINK_DELAY}" ]; then
249                    echo "link_delay ${LINK_DELAY}" >>/etc/kdump.conf
250                fi
251
252                if [ "${FILTER}" -eq 1 ]; then
253                        echo "core_collector makedumpfile ${MAKE_OPTIONS}" >>/etc/kdump.conf
254                fi
255                /etc/init.d/kdump restart
256                echo c >/proc/sysrq-trigger
257                ;;
258
259        "KDENB")
260                echo "net ${SCP_PATH}" >/etc/kdump.conf
261                expect -f ./ssh.tcl "/etc/init.d/kdump propagate" "${SCP_PASS}"
262                /etc/init.d/kdump restart
263                ;;
264
265        *)
266                echo "Unknown test."
267                ;;
268
269esac
270
271exit 0
272