目前,我想获取runqueues的地址,这是内核中的一个变量,并且不计划对外部的模块或代码可见。
我可以通过检查/ proc / kallsyms来获取runqueues的地址。但由于ASLR,这个地址不是真正的地址。
我真的不想更改内核所以我决定插入一个模块。 有谁知道如何在内核中获取变量的地址?
提前致谢!
答案 0 :(得分:0)
您的查询: -
我想得到runqueues的地址,这是一个变量 内核?
runqueue由struct runqueue表示,它是调度程序中的核心数据结构而不是变量。
我可以通过检查/ proc / kallsyms来获取runqueues的地址。
有一些宏用于获取与给定处理器或进程关联的runqueue。从这个宏我们得到runqueue结构和CPU id的数组的基地址。我相信你无法从/ proc / kallsysm检索runqueue信息。
所以,我想要获取所有runqueue的信息,你已经制作了多线程应用程序并将每个线程专用于特定的CPU(设置cpu亲和性)。