Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#!/bin/bash# SPDX-License-Identifier: GPL-2.0-or-later
TIMEOUT=30
DEBUFS_DIR=`cat /proc/mounts | grep debugfs | awk '{print $2}'`if [ ! -e "$DEBUFS_DIR" ]then echo "debugfs not found, skipping" 1>&2 exit 4fi
if [ ! -e "$DEBUFS_DIR/tracing/current_tracer" ]then echo "Tracing files not found, skipping" 1>&2 exit 4fi
echo "Testing for spurious faults when mapping kernel memory..."
if grep -q "FUNCTION TRACING IS CORRUPTED" "$DEBUFS_DIR/tracing/trace"then echo "FAILED: Ftrace already dead. Probably due to a spurious fault" 1>&2 exit 1fi
dmesg -CSTART_TIME=`date +%s`END_TIME=`expr $START_TIME + $TIMEOUT`while [ `date +%s` -lt $END_TIME ]do echo function > $DEBUFS_DIR/tracing/current_tracer echo nop > $DEBUFS_DIR/tracing/current_tracer if dmesg | grep -q 'ftrace bug' then break fidone
echo nop > $DEBUFS_DIR/tracing/current_tracerif dmesg | grep -q 'ftrace bug'then echo "FAILED: Mapping kernel memory causes spurious faults" 1>&2 exit 1else echo "OK: Mapping kernel memory does not cause spurious faults" exit 0fi