64 lines · c
1// SPDX-License-Identifier: GPL-2.02/* Copyright (c) 2022 Facebook */3 4#include "vmlinux.h"5#include <bpf/bpf_helpers.h>6#include <bpf/bpf_tracing.h>7 8const volatile int my_pid;9 10bool abc1_called;11bool abc2_called;12bool custom1_called;13bool custom2_called;14bool kprobe1_called;15bool xyz_called;16 17SEC("abc")18int abc1(void *ctx)19{20 abc1_called = true;21 return 0;22}23 24SEC("abc/whatever")25int abc2(void *ctx)26{27 abc2_called = true;28 return 0;29}30 31SEC("custom")32int custom1(void *ctx)33{34 custom1_called = true;35 return 0;36}37 38SEC("custom/something")39int custom2(void *ctx)40{41 custom2_called = true;42 return 0;43}44 45SEC("kprobe")46int kprobe1(void *ctx)47{48 kprobe1_called = true;49 return 0;50}51 52SEC("xyz/blah")53int xyz(void *ctx)54{55 int whatever;56 57 /* use sleepable helper, custom handler should set sleepable flag */58 bpf_copy_from_user(&whatever, sizeof(whatever), NULL);59 xyz_called = true;60 return 0;61}62 63char _license[] SEC("license") = "GPL";64