cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ftrace-direct.tc (1493B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3# description: Test ftrace direct functions against tracers
      4
      5rmmod ftrace-direct ||:
      6if ! modprobe ftrace-direct ; then
      7  echo "No ftrace-direct sample module - please make CONFIG_SAMPLE_FTRACE_DIRECT=m"
      8  exit_unresolved;
      9fi
     10
     11echo "Let the module run a little"
     12sleep 1
     13
     14grep -q "my_direct_func: waking up" trace
     15
     16rmmod ftrace-direct
     17
     18test_tracer() {
     19	tracer=$1
     20
     21	# tracer -> direct -> no direct > no tracer
     22	echo $tracer > current_tracer
     23	modprobe ftrace-direct
     24	rmmod ftrace-direct
     25	echo nop > current_tracer
     26
     27	# tracer -> direct -> no tracer > no direct
     28	echo $tracer > current_tracer
     29	modprobe ftrace-direct
     30	echo nop > current_tracer
     31	rmmod ftrace-direct
     32
     33	# direct -> tracer -> no tracer > no direct
     34	modprobe ftrace-direct
     35	echo $tracer > current_tracer
     36	echo nop > current_tracer
     37	rmmod ftrace-direct
     38
     39	# direct -> tracer -> no direct > no notracer
     40	modprobe ftrace-direct
     41	echo $tracer > current_tracer
     42	rmmod ftrace-direct
     43	echo nop > current_tracer
     44}
     45
     46for t in `cat available_tracers`; do
     47	if [ "$t" != "nop" ]; then
     48		test_tracer $t
     49	fi
     50done
     51
     52echo nop > current_tracer
     53rmmod ftrace-direct ||:
     54
     55# Now do the same thing with another direct function registered
     56echo "Running with another ftrace direct function"
     57
     58rmmod ftrace-direct-too ||:
     59modprobe ftrace-direct-too
     60
     61for t in `cat available_tracers`; do
     62	if [ "$t" != "nop" ]; then
     63		test_tracer $t
     64	fi
     65done
     66
     67echo nop > current_tracer
     68rmmod ftrace-direct ||:
     69rmmod ftrace-direct-too ||: