Чтение часов CLOCK_BOOTTIME с зонда BPFLinux

Anonymous
Чтение часов CLOCK_BOOTTIME с зонда BPF

Сообщение Anonymous »

Я использую зонд BPF в sys_execve() для регистрации текущего->start_boottime вместе с UID, GID, nspid и т. д. Зонд также регистрирует текущее время с помощью bpf_ktime_get_ns().
Я регистрирую start_boottime, также известный как CLOCK_BOOTTIME (а не current->start_time, также известный как CLOCK_MONOTONIC), потому что мне нужно сравнить время запуска PID со значениями из /proc/pid/stat, который также выводит pid->start_boottime.
Как я могу получить текущее время как CLOCK_BOOTTIME из моего зонда BPF? bpf_ktime_get_ns() возвращает время CLOCK_MONOTONIC, как описано на kernel.org.
Я могу использовать bpf_ktime_get_ns() + (current->start_boottime - current->start_time), но я надеюсь, что есть более простой способ, который также работает для других зондов, которые не запускаются в контексте процесса.

Код: Выделить всё

bpf_ktime_get_boot_ns()
доступен, но только начиная с Linux 5.8.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -bpf-probe

Вернуться в «Linux»