哪个 Ubuntu 源文件实现了 nx 位的管理?

哪个 Ubuntu 源文件实现了 nx 位的管理?

据我了解,Ubuntu 具有设置 nx 位的功能,以防止堆栈破坏攻击。

哪个源代码文件实现了这一点,并且在正常操作期间哪个过程/数据结构处理该位的设置?

注意:这是不是关于在第三方程序中编写 nx 位保护的问题,这是我在哪里可以看到当前保护的实施的问题。

答案1

你可以尝试开始这里

如何开始的示例

有一行代码:

#define X86_FEATURE_NX      ( 1*32+20) /* Execute Disable */

我已经克隆了 linux 内核的 git repo,它是在master分支中的最后一次提交是时克隆的14186fea0cb06bc43181ce239efe0df6f1af260a。因此现在可能会发生一些变化。

X86_FEATURE_NX尝试在 Linux 内核 git repo 中查找所有使用此功能的文件:

$ for i in *; do find "$i" -type f | xargs grep -l "X86_FEATURE_NX"; done
arch/x86/kvm/vmx.c
arch/x86/kvm/svm.c
arch/x86/kernel/head_32.S
arch/x86/include/asm/cpufeature.h

相关内容