C - 是否可以保护少于一页的内容

时间:2014-10-04 22:58:40

标签: c memory mprotect

我真的在寻找任何解决方案 - 我的目标是将小于系统页面大小的区域设置为PROT_READ,PROT_WRITE,PROT_EXEC或PROT_NONE。这可能吗?似乎mprotect只保护页面大小的倍数......

如果不可能,这个设计选择的原因是什么?

1 个答案:

答案 0 :(得分:5)

这通常是不可能的。

保护属性在CPU的页表中设置,因此这是CPU设计决策。

如果您只需要对某个特定区域进行此子页面保护,我相信有一些方法可以设置硬件内存访问断点,如果访问该区域将触发该断点。