[$] Long-lived kernel pointers in BPF
The BPF subsystem allowsprogrammers to write programs that can run safely in kernel space. Allmemory accesses and function calls in BPF programs are statically checkedfor safety using the in-kernel verifier, whichanalyzes programs in their entirety before allowing them to be loaded.While this allows the kernel to safely run BPF programs, it heavilyrestricts what those programs are able to do. Among theseconstraints is a rule that programs cannot store pointers into BPF maps foruse (such as dereferencing them or passing them to the kernel inkfunc and BPF helper invocations) at alater time. Apatch set byKumar Kartikeya Dwivedi adds this capability to BPF.