从这个网页截图中可以获取到以下关于漏洞的关键信息: 漏洞描述: - 在KVM虚拟化环境中,当使用PEBS(Performance Monitoring Events)功能时,如果guest的PEBS_ENABLE值与vCPU的值不匹配,可能会导致意外的行为。 - 具体表现为:即使guest不想使用PEBS,也会在运行时启用PEBS,这可能导致大量的#PFs(Page Faults),进而引发崩溃。 问题原因: - 在生成MSR_IA32_PEBS_ENABLE值时,没有正确地与vCPU的PEBS_ENABLE值进行掩码处理,导致guest在不需要PEBS的情况下仍然启用了该功能。 复现方法: - 通过运行 命令,并在commit 之后执行 ,可以复现该问题。 修复措施: - 通过mask guest的PEBS_ENABLE值与vCPU的值,确保只有在guest需要时才启用PEBS功能。 - 修复了之前commit 中未解决的用户空间仅对KVM进行配置的情况。 相关提交和报告人: - Fixes: c59a1f106f5c ("KVM: x86/pmu: Add IA32_PEBS_ENABLE MSR emulation for extended PEBS") - Closes: https://lore.kernel.org/all/Z_VUsWFkWITyY10eQdo-xIcarbon - Reported-by: Seth Forshee - Signed-off-by: Sean Christopherson - Signed-off-by: Peter Zijlstra (Intel) - Reviewed-by: Dapeng Mi - Tested-by: "Seth Forshee (DigitalOcean)"