Spec-Zone.ru › GCC 15

6.4.1.8 Атрибуты функций BPF

В серверной части BPF поддерживаются следующие атрибуты функций:

kernel_helper

используйте этот атрибут, чтобы указать, что объявленная функция является вспомогательной функцией ядра. Функция-помощник передаётся атрибуту в качестве аргумента. Пример:

int bpf_probe_read (void *dst, int size, const void *unsafe_ptr)
  __attribute__ ((kernel_helper (4)));
naked

Этот атрибут позволяет компилятору создать необходимое объявление функции, при этом тело функции может быть написано на ассемблере. Для указанной функции компилятор не будет генерировать последовательности пролога и эпилога. В функциях без пролога и эпилога безопасно использовать только базовые инструкции asm (см. Базовый Asm — инструкции ассемблера без операндов). Хотя использование расширенного asm или сочетания базового asm и кода C может показаться работоспособным, на такое поведение нельзя надёжно рассчитывать, и оно не поддерживается.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/BPF-Function-Attributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API