页表条目中的可执行位在哪里?

时间:2013-10-21 04:39:59

标签: linux operating-system paging

enter image description here

这是英特尔架构手册中的数字。 在x86 32位页表项中,位在哪里 这表明该页面是否可执行?

如果它不在这里,操作系统如何为exec设置内存权限? 有类似mmap功能的东西吗?

1 个答案:

答案 0 :(得分:2)

AFAIK,如果页面可读,则页面是可执行的,因此它们都是可执行的。但是,你可能会想到的是,有些页面设置了nonxec位。嗯,这是一个软件破解,是从内核完成的。引入此技术是为了避免基于stackoverflow的攻击,方法是使特定页面(vm区域)不可执行。