diff options
author | Eugeni Dodonov <eugeni.dodonov@intel.com> | 2011-11-10 11:12:10 -0200 |
---|---|---|
committer | Eugeni Dodonov <eugeni.dodonov@intel.com> | 2011-11-10 11:33:05 -0200 |
commit | 48186febf17490820dc089172c58526664255417 (patch) | |
tree | 05dc1ef7c674ff912e7d90b4f6cddafbb1f31ce5 /tests | |
parent | 31a4b13132d8d3c1c8e2d16205b9785f4e6bb48d (diff) |
tests: add test for kernel segmentation fault
As asked by Daniel Vetter, this is a tech which checks if we can cause
division by zero in kernel by reading the i915_emon_status debugfs
entry repeatably.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rwxr-xr-x | tests/debugfs_emon_crash | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 525380ef..dffda411 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -56,6 +56,7 @@ TESTS_progs = \ TESTS_scripts = \ debugfs_reader \ + debugfs_emon_crash \ $(NULL) kernel_tests = \ diff --git a/tests/debugfs_emon_crash b/tests/debugfs_emon_crash new file mode 100755 index 00000000..63e193d8 --- /dev/null +++ b/tests/debugfs_emon_crash @@ -0,0 +1,34 @@ +#!/bin/sh +# +# This check if we can crash the kernel with segmentation-fault +# by reading /sys/kernel/debug/dri/0/i915_emon_status too quickly +# + +if [ -d /debug/dri ] ; then + debugfs_path=/debug_dri +fi + +if [ -d /sys/kernel/debug/dri ] ; then + debugfs_path=/sys/kernel/debug/dri +fi + +i915_path=x +for dir in `ls $debugfs_path` ; do + if [ -f $debugfs_path/$dir/i915_error_state ] ; then + i915_path=$debugfs_path/$dir + break + fi +done + +if [ $i915_path = "x" ] ; then + echo i915 debugfs path not found. + exit 1 +fi + +for z in $(seq 1 1000); do + cat $i915_path/i915_emon_status > /dev/null +done + +# If we got here, we haven't crashed + +exit 0 |