// SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2022 Facebook */ #include "vmlinux.h" #include <bpf/bpf_helpers.h> #include <bpf/bpf_tracing.h> const volatile int my_pid; bool abc1_called; bool abc2_called; bool custom1_called; bool custom2_called; bool kprobe1_called; bool xyz_called; SEC("abc") int abc1(void *ctx) { abc1_called = true; return 0; } SEC("abc/whatever") int abc2(void *ctx) { abc2_called = true; return 0; } SEC("custom") int custom1(void *ctx) { custom1_called = true; return 0; } SEC("custom/something") int custom2(void *ctx) { custom2_called = true; return 0; } SEC("kprobe") int kprobe1(void *ctx) { kprobe1_called = true; return 0; } SEC("xyz/blah") int xyz(void *ctx) { int whatever; /* use sleepable helper, custom handler should set sleepable flag */ bpf_copy_from_user(&whatever, sizeof(whatever), NULL); xyz_called = true; return 0; } char _license[] SEC("license") = "GPL";