Ошибка при загрузке программы ebpf в ядро ​​

Эмуляция TTY в режиме ядра -— это /dev/tty*устройства, которые вообще не используют никаких программ X/Wayland. Вы используете их, нажимая Ctrl+Alt+F2 или подобное. Эмуляция TTY пользовательского режима -— это, по сути, все, что дает вам терминал, и это устройства /dev/pts/*. Это то, что создается терминалом gnome -, sshd, screen и вообще всем остальным.

-2
13.05.2021, 14:47
2 ответа

Ваш load_prog.cссылается на sock_example.oкак на объектный файл, содержащий программу BPF, но на самом деле этот объектный файл называется ebpf_prog.o.

2
28.07.2021, 11:32

Ваш ebpf_prog.cне является действительной программой eBPF, но это может быть просто ошибка копирования -и вставки, поскольку она почти такая же, как ваша load_prog.c. (Я предполагаю, что несоответствие ebpf_prog.o/ sock_example.oтакже является ошибкой копирования -вставки.)

Основная ошибка заключается в том, что вы собираете его как двоичный файл ELF; Программы eBPF должны быть построены как байт-код eBPF :

.
clang -target bpf...

Поскольку вы используете libbpf, см. руководство по начальной загрузке libbpf .

2
28.07.2021, 11:32

Теги

Похожие вопросы