我有一个用户模式进程和内核模块。现在我想从内核读取用户模式进程的某些区域,但有一个问题:没有用户模式内存的复制和 VA 的简单访问。所以我们有:目标进程的task_struct、其他相关结构(如mm_struct、vma_struct)和我想读取的虚拟地址(如0x0070abcd)或者以某种方式映射到我的内核模块。
我可以使用 get_user_pages 获取所需内存区域的页面列表,但接下来呢?我应该以某种方式将页面映射到内核中,然后尝试将它们作为连续内存区域读取还是有更好的解决方案?
我有一个用户模式进程和内核模块。现在我想从内核读取用户模式进程的某些区域,但有一个问题:没有用户模式内存的复制和 VA 的简单访问。所以我们有:目标进程的task_struct、其他相关结构(如mm_struct、vma_struct)和我想读取的虚拟地址(如0x0070abcd)或者以某种方式映射到我的内核模块。
我可以使用 get_user_pages 获取所需内存区域的页面列表,但接下来呢?我应该以某种方式将页面映射到内核中,然后尝试将它们作为连续内存区域读取还是有更好的解决方案?