我在Linux内核模块中,我用vmalloc()分配了一些内存.我想让内存具有读,写和执行权限.干净,适当的方式是什么?基本上,这通常相当于调用mprotect(),但在内核空间中.
如果我执行页面遍历,pgd_offset(),pud_offset(),pmd_offset(),pte_offset_map(),然后是pte_mkwrite(),我在2.6.39上尝试时会遇到链接错误.此外,似乎如果我正在进行页面漫步,它是一个黑客,应该有一个更清洁,更合适的方法.
我的内核模块将是一个可加载模块,因此我无法使用内部符号.
在此先感谢您的指导.
最佳答案
您是否尝试过直接调用do_mprotect()[对应于mprotect()的内核函数?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。