Неспособность отследить некоторые системные вызовы с помощью eBPF

Я использую bcc для отслеживания нескольких системных вызовов, почему я могу отслеживать такие системные вызовы, как write, close, fchown используя простой attach_kprobe но не могу отслеживать системные вызовы, такие как stat, fstat?

Я предполагаю, что это другие системные вызовы, которые я не могу отследить, но не нашел, какие именно. Как я могу отследитьstat, fstat и чем они отличаются от обычных write, close?

Образец кода:

b = BPF(text=prog)
b.attach_kprobe(event=b.get_syscall_fnname("fstat"), fn_name="syscall_fstat")

В своей проге делаю простую печать

int syscall_fstat(void *ctx){
    bpf_trace_printk("fstat\n");
    return 0;
}

1 ответ

Решение

Вместо того, чтобы использовать stat, я должен использовать newstat.

Другие вопросы по тегам