brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 896c88a Raw
62 lines · c
1// SPDX-License-Identifier: GPL-2.02/* Copyright (c) 2023 Hengqi Chen */3 4#include "vmlinux.h"5#include <bpf/bpf_helpers.h>6#include <bpf/bpf_tracing.h>7 8pid_t my_pid = 0;9 10int test1_result = 0;11int test2_result = 0;12int test3_result = 0;13int test4_result = 0;14 15SEC("uprobe/./liburandom_read.so:urandlib_api_sameoffset")16int BPF_UPROBE(test1)17{18	pid_t pid = bpf_get_current_pid_tgid() >> 32;19 20	if (pid != my_pid)21		return 0;22 23	test1_result = 1;24	return 0;25}26 27SEC("uprobe/./liburandom_read.so:urandlib_api_sameoffset@LIBURANDOM_READ_1.0.0")28int BPF_UPROBE(test2)29{30	pid_t pid = bpf_get_current_pid_tgid() >> 32;31 32	if (pid != my_pid)33		return 0;34 35	test2_result = 1;36	return 0;37}38 39SEC("uretprobe/./liburandom_read.so:urandlib_api_sameoffset@@LIBURANDOM_READ_2.0.0")40int BPF_URETPROBE(test3, int ret)41{42	pid_t pid = bpf_get_current_pid_tgid() >> 32;43 44	if (pid != my_pid)45		return 0;46 47	test3_result = ret;48	return 0;49}50 51SEC("uprobe")52int BPF_UPROBE(test4)53{54	pid_t pid = bpf_get_current_pid_tgid() >> 32;55 56	if (pid != my_pid)57		return 0;58 59	test4_result = 1;60	return 0;61}62