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_module.tc (1565B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3# description: Kprobe dynamic event - probing module
      4# requires: kprobe_events
      5
      6rmmod trace-printk ||:
      7if ! modprobe trace-printk ; then
      8  echo "No trace-printk sample module - please make CONFIG_SAMPLE_TRACE_PRINTK=
      9m"
     10  exit_unresolved;
     11fi
     12
     13MOD=trace_printk
     14FUNC=trace_printk_irq_work
     15
     16:;: "Add an event on a module function without specifying event name" ;:
     17
     18echo "p $MOD:$FUNC" > kprobe_events
     19PROBE_NAME=`echo $MOD:$FUNC | tr ".:" "_"`
     20test -d events/kprobes/p_${PROBE_NAME}_0 || exit_failure
     21
     22:;: "Add an event on a module function with new event name" ;:
     23
     24echo "p:event1 $MOD:$FUNC" > kprobe_events
     25test -d events/kprobes/event1 || exit_failure
     26
     27:;: "Add an event on a module function with new event and group name" ;:
     28
     29echo "p:kprobes1/event1 $MOD:$FUNC" > kprobe_events
     30test -d events/kprobes1/event1 || exit_failure
     31
     32:;: "Remove target module, but event still be there" ;:
     33if ! rmmod trace-printk ; then
     34  echo "Failed to unload module - please enable CONFIG_MODULE_UNLOAD"
     35  exit_unresolved;
     36fi
     37test -d events/kprobes1/event1
     38
     39:;: "Check posibility to defining events on unloaded module";:
     40echo "p:event2 $MOD:$FUNC" >> kprobe_events
     41
     42:;: "Target is gone, but we can prepare for next time";:
     43echo 1 > events/kprobes1/event1/enable
     44
     45:;: "Load module again, which means the event1 should be recorded";:
     46modprobe trace-printk
     47grep "event1:" trace
     48
     49:;: "Remove the module again and check the event is not locked"
     50rmmod trace-printk
     51echo 0 > events/kprobes1/event1/enable
     52echo "-:kprobes1/event1" >> kprobe_events