HappySeeker
腾讯云成都招聘虚拟化内核工程师(benbjiang@tencent.com)
-
spectre_v2启动参数
背景 针对Meltdown && Spectre安全漏洞的V2 patch中引入了retpoline技术,启动参数也变了,主要通过spectre_v2控制,但是可选的参数众多,有点眼晕,本文分析相关原理和实现代码。...
-
Retpoline in kernel
背景 继续Meltdown && Spectre安全漏洞的相关分析,本文关注V2 patch中引入的retpoline技术。...
-
合入Meltdown && Spectre patch V2补丁后莫名的性能差异
背景 最近测试Meltdown && Spectre V2...
-
EPT misconfig
背景 前不久被问到EPT misconfig的问题,没反应过来,顺手了解了一下,记录一下。 基本概念 EPT...
-
PTI & TLB flush
背景 本文继续分析与PTI功能相关TLB flush相关操作的基本原理、代码实现。没有完整覆盖TLB相关的所有内容,仅关注PTI相关的且个人比较疑惑的部分,当笔记。 基本原理 关于TLB和TLB...
-
Meltdown & Spectre patch v2-关闭开关后仍有40%的性能差异?
问题 在给环境中打上了针对Meltdown&Spectre漏洞的V2版本补丁后,同时通过grub参数关闭掉所有的开关,通过unixbench工具测试系统调用,发现性能损耗达40%+?开始不相信,原因很简单,权当记笔记了。 V2版本patch 针对Meltdown&Spectre漏洞的V2版本patch,其实就是引入retpoline后的patch。主要针对Spectre V2漏洞,之前的V1版本使用的是微码(固件)+IBRS+IBPB的方式来规避的,这种方式有2个大问题:...
-
PCID & 与PTI的结合
背景 本文继续分析与PTI功能相关的PCID feature的原理、概念、实现以及与PTI的关联。前面分析的PTI实现代码,其实只分析了最基本的框架和代码,其中一些细节比如PCID的相关实现,没有深入,本文关注相关细节。 基本原理 PCID概念...
-
PTI(page table isolation)--性能分析
背景 本文分析PTI带来的性能损耗,从原理以及实际测试数据角度进行相关分析、记录。 PTI性能损耗原理 如之前的文章(基本原理及性能开销)说明,PTI会带来额外的性能损耗,性能损耗来自多方面,包括: 在用户态和内核态间切换时(系统调用、中断、异常),CR3操作(主要是mov...
-
PTI(page table isolation)--代码分析
背景 本文接着前一篇(原理及性能损耗)继续分析PTI的实际代码,其实比较简单,供大家和自己后续参考。 代码分析 PTI功能的代码相对比较独立,看似跟内核中的mm基础架构紧密相关,但实际对mm的基础代码改动较少,耦合度较低,这也是其设计的美妙之处。 在kernel...
-
PTI(page table isolation)--基本原理和性能开销
背景 2018,可视作CPU发展历史的重要节点,就是因为爆出了影响范围最广的源自CPU硬件设计的安全漏洞:Meltdown和Spectre,有关这两个漏洞说明,参见我的其他文章。而本文的焦点pti,即专门用于mitigate Meltdown漏洞。 原理 页表/进程/Meltdown相关原理...