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_user.tc (1217B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3# description: Kprobe event user-memory access
      4# requires: kprobe_events '$arg<N>':README
      5
      6grep -A10 "fetcharg:" README | grep -q 'ustring' || exit_unsupported
      7grep -A10 "fetcharg:" README | grep -q '\[u\]<offset>' || exit_unsupported
      8
      9:;: "user-memory access syntax and ustring working on user memory";:
     10echo 'p:myevent do_sys_open path=+0($arg2):ustring path2=+u0($arg2):string' \
     11	> kprobe_events
     12echo 'p:myevent2 do_sys_openat2 path=+0($arg2):ustring path2=+u0($arg2):string' \
     13	>> kprobe_events
     14
     15grep myevent kprobe_events | \
     16	grep -q 'path=+0($arg2):ustring path2=+u0($arg2):string'
     17echo 1 > events/kprobes/myevent/enable
     18echo 1 > events/kprobes/myevent2/enable
     19echo > /dev/null
     20echo 0 > events/kprobes/myevent/enable
     21echo 0 > events/kprobes/myevent2/enable
     22
     23grep myevent trace | grep -q 'path="/dev/null" path2="/dev/null"'
     24
     25:;: "user-memory access syntax and ustring not working with kernel memory";:
     26echo 'p:myevent vfs_symlink path=+0($arg3):ustring path2=+u0($arg3):string' \
     27	> kprobe_events
     28echo 1 > events/kprobes/myevent/enable
     29ln -s foo $TMPDIR/bar
     30echo 0 > events/kprobes/myevent/enable
     31
     32grep myevent trace | grep -q 'path=(fault) path2=(fault)'
     33
     34exit 0