Чтение часов 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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