在用户模式下阅读kallsyms

时间:2012-05-04 10:57:22

标签: linux kernel symbols

我正在编写有关低级别内容的代码。我需要知道内核符号地址来编写可靠的代码。因此我试图在Ubuntu kernel-3.0.19中使用用户模式时读取kallsyms。这是用户模式下的kallsyms输出。

... 00000000 r __ksymtab_prepare_kernel_cred 00000000 r __kcrctab_prepare_kernel_cred 00000000 r __kstrtab_prepare_kernel_cred ...

如何在用户模式下解决此问题。当我的根和每个人都可以,但这不是我需要的。

感谢。

1 个答案:

答案 0 :(得分:8)

有意/proc/kallsyms显示零而不是非root用户的真实地址。这有点降低了安全风险。

详细信息可在this upstream commit中找到。另请参阅%pK s_show如何使用/proc/kallsyms打印说明符,System.map负责在/proc/sys/kernel/kptr_restrict中提供记录。

我怀疑仍然可能以某种方式获取符号地址而不是root用户。没有root权限的人也无法访问{{1}}。写入{{1}}也一样。