Вспомогательная функция BPF bpf_get_current_task
возвращает указатель на task_struct
текущей задачи. Как я могу использовать это в программе BPF для получения идентификатора сеанса текущей задачи?
Вспомогательная функция BPF bpf_get_current_task
возвращает указатель на task_struct
текущей задачи. Как я могу использовать это в программе BPF для получения идентификатора сеанса текущей задачи?
struct task_struct
в файлеinclude/linux/sched.h
из дерева ядра, я вижу, что есть атрибутsessionid
. Это то, что вы ищите? Я не очень хорошо разбираюсь в программе трассировки, но если да, то, возможно, вы можете прочитать ее с помощьюbpf_probe_read()
изtask_struct
, которое вы получили? - person Qeole   schedule 19.02.2018getsid
для вдохновения, которая следует за указателемgroup_leader
task_struct
(аналогично здесь stackoverflow.com/questions/48777124/), но у меня проблемы с указателемgroup_leader
, равным нулю, поэтому Мне было интересно, есть ли особый способ сделать это в программе BPF - возможно, идентификатор сеанса доступен только тогда, когда функция ядра вызывается из пользовательского пространства (т.е. системный вызов), а не вызывается самим ядром - person dippynark   schedule 19.02.2018