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_args_symbol.tc (1678B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3# description: Kprobe event symbol argument
      4# requires: kprobe_events
      5
      6SYMBOL="linux_proc_banner"
      7
      8if [ ! -f /proc/kallsyms ]; then
      9  echo "Can not check the target symbol - please enable CONFIG_KALLSYMS"
     10  exit_unresolved
     11elif ! grep "$SYMBOL\$" /proc/kallsyms; then
     12  echo "Linux banner is not exported - please enable CONFIG_KALLSYMS_ALL"
     13  exit_unresolved
     14fi
     15
     16: "Test get basic types symbol argument"
     17echo "p:testprobe_u $FUNCTION_FORK arg1=@linux_proc_banner:u64 arg2=@linux_proc_banner:u32 arg3=@linux_proc_banner:u16 arg4=@linux_proc_banner:u8" > kprobe_events
     18echo "p:testprobe_s $FUNCTION_FORK arg1=@linux_proc_banner:s64 arg2=@linux_proc_banner:s32 arg3=@linux_proc_banner:s16 arg4=@linux_proc_banner:s8" >> kprobe_events
     19if grep -q "x8/16/32/64" README; then
     20  echo "p:testprobe_x $FUNCTION_FORK arg1=@linux_proc_banner:x64 arg2=@linux_proc_banner:x32 arg3=@linux_proc_banner:x16 arg4=@linux_proc_banner:x8" >> kprobe_events
     21fi
     22echo "p:testprobe_bf $FUNCTION_FORK arg1=@linux_proc_banner:b8@4/32" >> kprobe_events
     23echo 1 > events/kprobes/enable
     24(echo "forked")
     25echo 0 > events/kprobes/enable
     26grep "testprobe_[usx]:.* arg1=.* arg2=.* arg3=.* arg4=.*" trace
     27grep "testprobe_bf:.* arg1=.*" trace
     28
     29: "Test get string symbol argument"
     30echo "p:testprobe_str $FUNCTION_FORK arg1=@linux_proc_banner:string" > kprobe_events
     31echo 1 > events/kprobes/enable
     32(echo "forked")
     33echo 0 > events/kprobes/enable
     34RESULT=`grep "testprobe_str" trace | sed -e 's/.* arg1=\(.*\)/\1/'`
     35
     36RESULT=`echo $RESULT | sed -e 's/.* \((.*)\) \((.*)\) .*/\1 \2/'`
     37ORIG=`cat /proc/version | sed -e 's/.* \((.*)\) \((.*)\) .*/\1 \2/'`
     38test "$RESULT" = "$ORIG"