我在一个 Linux 内核模块中,我分配了一些内存,比如vmalloc()
. 我想让内存有读、写和执行权限。这样做的干净和适当的方法是什么?基本上,这通常等同于调用mprotect()
,但在内核空间中。
如果我执行 page walk, pgd_offset()
, pud_offset()
, pmd_offset()
, pte_offset_map()
, 然后pte_mkwrite()
, 我在 2.6.39 上尝试时遇到链接错误。此外,如果我在进行页面遍历,这似乎是一种 hack,应该有一种更清洁、更合适的方法。
我的内核模块将是一个可加载模块,因此我无法使用内部符号。
提前感谢您的指导。