Linux / Golang: невозможно получить доступ к / sys / kernel / debug / tracing / kprobe_events - PullRequest
0 голосов
/ 07 января 2020

Я использую Arch linux на ядре LTS (4.19.75). Я проверил с более свежими ядрами, та же проблема.

У меня do смонтированы debugfs, и как root я вижу этот файл:

/sys/kernel/debug/tracing/kprobe_events

Я пытаюсь исправить / запустить / разветвить (назовите его так, как вам нравится, оригинальный код здесь https://github.com/evilsocket/opensnitch) Go программы, которая обращается к нему. Вот что он делает:

const (
      systemProbesFile  = "/sys/kernel/debug/tracing/kprobe_events" 
)

func writeFile(filename string, data string) error {    return ioutil.WriteFile(filename, []byte(data), 0755) }

// create the custom kprobe consumer
if err = writeFile(systemProbesFile, p.descriptor); err != nil {
    return fmt.Errorf("Error while enabling probe descriptor for %s: %s", p.name, err)
}

Это дает мне эту ошибку (работает как root)

write /sys/kernel/debug/tracing/kprobe_events: no such file or directory

Я также не могу записать в него, используя команды оболочки basi c (как root). «Нет такого файла» странно, поскольку файл там есть.

Я не могу найти много информации об этих специальных файлах, в итоге я прочитал это: https://www.kernel.org/doc/html/latest/trace/kprobetrace.html ... Я не нашел никакой причины, почему я не мог получить доступ к файлу. Будь то простой "echo" или программами.

Понятия не имею, что может отсутствовать / блокировать меня в моей системе.

Я работаю с загрузкой UEFI, и безопасная загрузка отключена ( где-то видел, что это может иметь значение), я совершенно не в курсе.

спасибо всем, у кого есть идея, где искать.

С уважением

...