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.