6.33.8 Атрибуты функций BPF
Эти атрибуты функций поддерживаются бэкендом BPF:
-
kernel_helper -
используйте этот атрибут, чтобы указать, что указанное объявление функции является вспомогательной функцией ядра. Вспомогательная функция передается в качестве аргумента атрибуту. Пример:
int bpf_probe_read (void *dst, int size, const void *unsafe_ptr) __attribute__ ((kernel_helper (4)));
-
naked Этот атрибут позволяет компилятору сконструировать необходимое объявление функции, позволяя при этом использовать ассемблерный код в теле функции. Указанная функция не будет иметь прологов/эпилогов, сгенерированных компилятором. Только базовые
asmинструкции могут безопасно включаться в функции «naked» (см. Основные ассемблерные инструкции без операндов). Хотя использование расширенныхasmили смеси базовыхasmи кода C может показаться работающим, нельзя полагаться на их надежную работу, и они не поддерживаются.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/BPF-Function-Attributes.html