6.4.1.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.