Linux内存管理:内核与用户空间可视化及安全特性解析
1. 内核模块代码概述
内核模块的初始化方法会调用两个重要函数:
- show_kernelseg_info() :用于打印相关的内核段详细信息。
- show_userspace_info() :用于打印相关的用户虚拟地址空间(VAS)详细信息,该功能可通过内核参数选择是否启用。
Makefile会将内核库代码 klib_llkd.c 的目标文件链接进来,生成名为 show_kernel_seg.ko 的内核模块对象。
2. 查看内核段详细信息
为了清晰展示,这里仅展示源代码的相关部分,完整代码可从GitHub仓库克隆使用。之前提到的 procmap 实用工具的内核组件(LKM)与当前模块功能类似,不过这里我们主要关注 show_kernel_seg 模块的代码。
以下是 show_kernelseg_info() 函数的部分代码:
// ch7/show_kernel_seg/kernel_seg.c
[...]
static void show_kernelseg_info(void)
{
pr_info("\nSome Kernel Details [by decreasing address]\n"
"+----------------------------
超级会员免费看
订阅专栏 解锁全文
2599

被折叠的 条评论
为什么被折叠?



