Я запустил пример кода ebpf с void в качестве типа возвращаемого значения и перед возвратом вызвал bpf_printk. Я ожидал, что этот код будет отклонен верификатором. Однако мне удалось успешно загрузить его в ядро, и это как бы повредило мою сетевую подсистему, поскольку оно было связано с xdp, и мне пришлось перезагрузить мою машину, чтобы сеть снова заработала. Это нормально?
Ядро: Linux asus 6.5.0-28-generic #29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Четверг, 4 апреля, 14:39:20 UTC 2 x86_64 x86_64 x86_64 GNU /Linux
ОС: Ubuntu 22.04.4 LTS
#include
#include
int counter = 0;
SEC("xdp")
void error_packet_count(void *ctx) {
bpf_printk("%d", counter);
counter++;
return;
}
char LICENSE[] SEC("license") = "Dual BSD/GPL";
Подробнее здесь: https://stackoverflow.com/questions/784 ... r-question