标签: c memory mprotect
我真的在寻找任何解决方案 - 我的目标是将小于系统页面大小的区域设置为PROT_READ,PROT_WRITE,PROT_EXEC或PROT_NONE。这可能吗?似乎mprotect只保护页面大小的倍数......
如果不可能,这个设计选择的原因是什么?
答案 0 :(得分:5)
这通常是不可能的。
保护属性在CPU的页表中设置,因此这是CPU设计决策。
如果您只需要对某个特定区域进行此子页面保护,我相信有一些方法可以设置硬件内存访问断点,如果访问该区域将触发该断点。