This document discusses how eBPF (extended Berkeley Packet Filter) can be used for kernel tracing. It provides an overview of BPF and eBPF, how eBPF programs are compiled and run in the kernel, the use of BPF maps, and how eBPF enables new possibilities for dynamic kernel instrumentation through techniques like Kprobes and ftrace.
59. 03/09/2016 59
Restrict C [9]
●
No support for
– Global variables
– Arbitrary function calls,
– Floating point, varargs, exceptions, indirect jumps, arbitrary
pointer arithmetic, alloca, etc.
●
Kernel rejects all programs that it cannot prove safe
– programs with loops
– with memory accesses via arbitrary pointers.