我希望能够分辨出属于某个进程的页表中的哪些页面被用作数据段。 我正在使用Linux内核v 3.2 for amd64
这是我之前做过的,但没有奏效:
使用task->mm->start_data
访问数据段(任务是目标流程的task_struct)。
搜索task->mm->mmap
(链接列表)并将每个vm_area_struct
(vm_start
)的起始地址与task->mm->start_data
进行比较。这里我假设数据段的开头与页面的开头对齐。
所有这些都应该在内核模块中完成。
感谢。
答案 0 :(得分:0)
经过一些研究看起来像传递任务 - > mm-> start_data到get_user_pages与kmap相结合就可以了。