在 Linux 内核中,页表条目 (PTE) 包含 R/W 位但没有执行位,因为在早期的 x86 体系结构中没有 NX 位。
我不明白为什么PTE中的X bit需要硬件支持。
如我所见,我们可以在内核源代码中定义一个位来构造 PTE 作为 X 位。内核在访问页表时会检查PTE中的这个位。
任何解释将不胜感激。谢谢!
最佳答案
因为您的方案一旦在 does not use that bit for NX 的架构上运行就会崩溃.
关于linux - 为什么memory NX在Linux内核中需要硬件支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32775266/