Linux内存管理

ash*_*ash 5 memory-management linux-kernel

有没有什么办法可以标记页面执行只有没有读取权限?(即能够执行该页面上的指令,而无需具有可执行的页面的读取权限.)

我的最终目标是创建一个我可以执行的页面,但没有其他进程能够对该页面进行任何数据访问.

thk*_*ala 4

这是与内核和硬件相关的事情之一,如mprotect()手册页中所述:

PROT_EXEC 是否具有与 PROT_READ 不同的效果取决于体系结构和内核版本。

在最新的 Linux/x86 内核上,如果您的 CPU 支持NX 位,那么这些标志肯定是离散的。在其他 x86 CPU 上,这取决于您的内核是否支持Exec-Shield或其他类似的 NX 位模拟。