trace_call_bpf_faultable(9)
okay so bestie, welcome to the Kernel API Manual page for trace_call_bpf_faultable(9) β it's giving faultable tracepoint main character energy and I'm obsessed π
β¨
π NAME π
trace_call_bpf_faultable - invoke BPF program in faultable context π¦
β¨ SYNOPSIS β¨
unsigned int trace_call_bpf_faultable (struct trace_event_call *call ,
void *ctx );
π ARGUMENTS π
callβ tracepoint event. that's the tracepoint event you're working with π«Άctxβ opaque context pointer. literally opaque, so don't expect to peek inside π
π DESCRIPTION π
okay so this is a variant of trace_call_bpf for faultable tracepoints (syscall tracepoints) β no cap. It supports sleepable BPF programs by using rcu_tasks_trace for lifetime protection and bpf_prog_run_array_sleepable for per-program RCU flavor selection, following the uprobe pattern. π§
Per-program recursion protection is provided by bpf_prog_run_array_sleepable. Global bpf_prog_active is not needed because syscall tracepoints cannot self-recurse. π
β οΈ important vibe check: this must be called from a faultable/preemptible context. not optional, bestie.
π SEE ALSO π
- Kernel file
./kernel/trace/bpf_trace.c trace_call_bpf(9)
signed off with π from the source/version lane ./kernel/trace, dated October 2026 β trace_call_bpf_faultable(9), periodt π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms