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

trace_output_kern.c (660B)


      1#include <linux/ptrace.h>
      2#include <linux/version.h>
      3#include <uapi/linux/bpf.h>
      4#include <bpf/bpf_helpers.h>
      5#include "trace_common.h"
      6
      7struct {
      8	__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);
      9	__uint(key_size, sizeof(int));
     10	__uint(value_size, sizeof(u32));
     11	__uint(max_entries, 2);
     12} my_map SEC(".maps");
     13
     14SEC("kprobe/" SYSCALL(sys_write))
     15int bpf_prog1(struct pt_regs *ctx)
     16{
     17	struct S {
     18		u64 pid;
     19		u64 cookie;
     20	} data;
     21
     22	data.pid = bpf_get_current_pid_tgid();
     23	data.cookie = 0x12345678;
     24
     25	bpf_perf_event_output(ctx, &my_map, 0, &data, sizeof(data));
     26
     27	return 0;
     28}
     29
     30char _license[] SEC("license") = "GPL";
     31u32 _version SEC("version") = LINUX_VERSION_CODE;