Печать чего-либо из текстового файла в eBPF

Я хотел бы загрузить текст из файла и распечатать его с помощью eBPF. Такое вообще возможно? Я сделал что-то подобное, используя bpf_probe_read, но мне интересно, есть ли более простой способ сделать что-то подобное, просто указав местоположение? Я хочу попробовать расширить это, используя CSV, например, в качестве средства практики.

#!/usr/bin/python3
# BPF PROGRAM
bpfprogram = """

static void helloworld() {
   bpf_trace_printk("Hello World!\\n");
}
int helloworld2(void *ctx)
{
    helloWorld();
    return 0;
}
"""
b = BPF(text=bpfprogram)
b.attach_kprobe(event=b.get_syscall_fnname("clone"), fn_name="helloworld")
b.trace_print()

person Zarif Rahman    schedule 27.05.2021    source источник
comment
Я не думаю, что есть простой способ сделать это. Каков вариант использования? Не лучше ли передать некоторую информацию в пользовательское пространство и распечатать содержимое вашего файла оттуда? См. также этот ответ.   -  person Qeole    schedule 27.05.2021
comment
Я только что прочитал ваш другой ответ, но мне интересно, есть ли у вас пример подключения программ пользовательского пространства к eBPF? Извините за нубский вопрос, так как я хочу посмотреть, смогу ли я что-нибудь распечатать или передать текстовую информацию для выполнения определенных действий.   -  person Zarif Rahman    schedule 27.05.2021
comment
Извините, я не понимаю, что вы подразумеваете под «прикреплением программ пользовательского пространства к eBPF». Вы имеете в виду передачу информации из eBPF в пространство пользователя? Обычно мы делаем это через буфер производительности или (в более поздних ядрах) кольцевой буфер eBPF. В репозитории ядра есть примеры, или вы можете найти несколько, выполнив поиск в Интернете.   -  person Qeole    schedule 27.05.2021