BPF Function Attributes (Using the GNU Compiler Collection (GCC)) (original) (raw)
6.33.8 BPF Function Attributes ¶
These function attributes are supported by the BPF back end:
kernel_helper
¶
use this attribute to indicate the specified function declaration is a kernel helper. The helper function is passed as an argument to the attribute. Example:
int bpf_probe_read (void *dst, int size, const void *unsafe_ptr) attribute ((kernel_helper (4)));
naked
¶
This attribute allows the compiler to construct the requisite function declaration, while allowing the body of the function to be assembly code. The specified function will not have prologue/epilogue sequences generated by the compiler. Only basic asm
statements can safely be included in naked functions (see Basic Asm — Assembler Instructions Without Operands). While using extended asm
or a mixture of basic asm
and C code may appear to work, they cannot be depended upon to work reliably and are not supported.