我想知道如何从Linux内核启用或禁用这3个功能:
我已阅读过我必须在内核的命令行中添加一些内容才能启用此功能。 我研究了/ proc / cmdline。我没有发现任何有关smeep的信息。
但是,当我询问/ proc / cpuinfo时,我可以看到smep已启用。
所以我的问题是:启用或禁用这3个功能的正确方法是什么。 检查它们是否在运行时启用的正确方法是什么
谢谢
答案 0 :(得分:1)
您可以使用以下内核引导参数来禁用这些功能:
nosmap
:禁用SMAP。从3.7开始支持,这也是第一个支持SMAP的版本。nosmep
:禁用SMEP。从3.0开始受支持,这也是第一个支持SMEP的版本。nokaslr
:禁用KASLR。从3.14开始支持,这也是第一个支持KASLR的版本。默认情况下,内核还会在引导时启用这些功能(如果基础CPU和内核版本支持的话)。引导后永远不会启用或禁用它们。
您可以通过简单地使用内核模块更改所有逻辑内核上CR4
寄存器中的相应标志来以编程方式禁用/启用SMAP和SMEP。