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

kprobe-direct.tc (1415B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3# description: Test ftrace direct functions against kprobes
      4# requires: kprobe_events
      5
      6rmmod ftrace-direct ||:
      7if ! modprobe ftrace-direct ; then
      8  echo "No ftrace-direct sample module - please build with CONFIG_SAMPLE_FTRACE_DIRECT=m"
      9  exit_unresolved;
     10fi
     11
     12echo "Let the module run a little"
     13sleep 1
     14
     15grep -q "my_direct_func: waking up" trace
     16
     17rmmod ftrace-direct
     18
     19echo 'p:kwake wake_up_process task=$arg1' > kprobe_events
     20
     21start_direct() {
     22	echo > trace
     23	modprobe ftrace-direct
     24	sleep 1
     25	grep -q "my_direct_func: waking up" trace
     26}
     27
     28stop_direct() {
     29	rmmod ftrace-direct
     30}
     31
     32enable_probe() {
     33	echo > trace
     34	echo 1 > events/kprobes/kwake/enable
     35	sleep 1
     36	grep -q "kwake:" trace
     37}
     38
     39disable_probe() {
     40	echo 0 > events/kprobes/kwake/enable
     41}
     42
     43test_kprobes() {
     44	# probe -> direct -> no direct > no probe
     45	enable_probe
     46	start_direct
     47	stop_direct
     48	disable_probe
     49
     50	# probe -> direct -> no probe > no direct
     51	enable_probe
     52	start_direct
     53	disable_probe
     54	stop_direct
     55
     56	# direct -> probe -> no probe > no direct
     57	start_direct
     58	enable_probe
     59	disable_probe
     60	stop_direct
     61
     62	# direct -> probe -> no direct > no noprobe
     63	start_direct
     64	enable_probe
     65	stop_direct
     66	disable_probe
     67}
     68
     69test_kprobes
     70
     71# Now do this with a second registered direct function
     72echo "Running with another ftrace direct function"
     73
     74modprobe ftrace-direct-too
     75
     76test_kprobes
     77
     78rmmod ftrace-direct-too
     79
     80echo > kprobe_events