从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 当BHI(Branch History Invalidation)机制启用时,如果SYSENTER被调用并设置了TF(Task Flag)标志,那么entry_SYSENTER_compat()函数会使用CLEAR_BRANCH_HISTORY并调用clear_bhb_loop()函数,这会导致#DB(Debug)处理器在TF标志清除之前发出警告。 2. 问题重现: - 通过以下步骤可以重现问题: 1. 编写一个名为sysenter_step.c的程序,其中包含以下代码: 2. 使用gcc编译该程序。 3. 运行编译后的程序。 - 运行结果应为Segmentation fault(核心转储)。 3. 解决方法: - entry_SYSENTER_compat()函数应该在确保TF标志清除后使用CLEAR_BRANCH_HISTORY。 4. 补丁信息: - 该补丁修复了7390db8aea0d("x86/bhi: Add support for clearing branch history at syscall entry")的漏洞。 - 该补丁由Suman Maity报告,Alexandre Chartre和Borislav Petkov(AMD)签署,Andrew Cooper和Pawan Gupta审查,Josh Poinboeuf和Sasha Levin签署。 5. 补丁内容: - 补丁内容位于 文件中,主要修改了CLEAR_BRANCH_HISTORY指令的位置。 这些信息可以帮助我们理解漏洞的背景、重现方法、解决方法以及相关的补丁信息。