我们依赖您的支持:本网站主要由广告支持。广告使这个网站在过去的16年里得以维持。我们尽最大努力确保只显示干净、相关的广告,当检测到任何令人讨厌的广告时,我们会尽快将其删除。如果您想浏览没有广告的网站,同时仍然支持我们的工作,请考虑我们的无广告Phoronix溢价。你也可以考虑通过贝宝支付小费。Linux5.9内核计划开始引入新的限制,允许从用户空间写入特定于CPU型号的寄存器(MSR)。通过Linux内核x86 MSR驱动程序,允许从用户空间写入任意型号特定的寄存器-假设您拥有root权限。但是,即使需要root访问,允许从用户空间写入任何CPU MSR而不需要内核通过/dev/cpu/[cpu-number]/msr进行干预也存在安全隐患和其他问题。SuSE的Borislav Petkov增加了对x86 MSR驱动程序的支持,以开始过滤MSR写入。佩特科夫强调,不受限制地访问系统上的所有MSR是一场灾难,而且一直都是一场等待发生的灾难。想想性能计数器MSR、带有粘滞或锁定位的MSR、进行重大系统更改(如加载微码、MTRR、PAT配置、TSC计数器、安全缓解MSR)的MSR,应有尽有。这还会破坏内核为提高性能而缓存的所有MSR值,就像最近MSR_AMD64_LS_CFG的情况所显示的那样。另一个例子是仅仅通过键入错误的MSR地址来错误地写入MSR。系统冻结的经历就是这样的。通常,攻击内核脚下的MSR不是一个好主意。";从Linux 5.9开始的新默认行为将是,每当从用户空间进行MSR写入时,都会使用无法识别的MSR写入通知将消息记录到dmesg。但是,此MSR过滤基础设施还添加了阻止来自用户空间的MSR写入的能力。最终,它们可能会在以后将其转换为默认设置,以确保不会发生来自用户空间的MSR写入。现在可以通过msr.Allow_Writes=kernel模块参数使用ON/OFF/DEFAULT切换此行为。如果出现仍然需要从用户空间写入MSR的合法使用情形,它们可以添加基础架构,以便有选择地授予/拒绝对特定MSR的访问,并确保内核对其进行清理。