linux - 为什么memory NX在Linux内核中需要硬件支持?

标签 linux linux-kernel x86

在 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/

相关文章:

linux - 对于较新的 Linux 内核,刷新进程名称中的数字有什么意义?

c - 如何从内核空间获取sockfd?

linux - x86 Linux 汇编程序从_start 获取程序参数

sorting - x86 尝试进行冒泡排序时出现段错误

linux - 如何处理 perl 中的挂起情况?访问文件后

linux - Linux 的 ipsec 开源

c - 如何在程序中包含内核头文件

assembly - x86 组装 VGA 显卡出现 NASM 故障?

linux - linux中如何获取一个进程的内存

linux - 在 GNU/Linux 中使用 OpenSSL 部署应用程序