我想从 eBPF 程序中的任务结构中检索 sessionid。我的 eBPF 程序中有以下代码:
struct task_struct *task;
u32 sessionid;
task = (struct task_struct *)bpf_get_current_task();
sessionid = task->sessionid;
这会运行,但 sessionid 总是以 -1 结束。我读到这个答案,我可以用task_session
它来检索它,但我收到一个关于无效内存访问的错误。我相信我需要使用bpf_probe_read
将指向的指针移到堆栈上,但我无法让它工作。有什么我想念的吗?task_struct
task