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