trace_call_bpf_faultable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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 🌈


signed off with πŸ’– from the source/version lane ./kernel/trace, dated October 2026 β€” trace_call_bpf_faultable(9), periodt πŸ’…βœ¨

πŸ“¦ where this page comes from