宋宝华: ARM64 Linux meltdown修复补丁KPTI的最重要3个patch

本文深入探讨了AARCH64平台针对Meltdown漏洞的KPTI补丁,涉及三个核心patch,包括配置变更、trampoline页表的映射以及异常陷阱页的添加。通过这些patch,实现了在EL0到EL1之间的安全切换,保护内核不被用户空间访问。
摘要由CSDN通过智能技术生成

看完这篇文章,可以知道AARCH64平台修复meltdown漏洞的KPTI补丁的基本原理。此文很难很分裂,需要具备大量背景知识,慎重阅读。
看不懂也没有关系,记住最后三张页表的结论即可。

一个patch是 “arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0”,此patch前后2次修正,地址如下:
 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=084eb77cd3a81134d02500977dc0ecc9277dc97d
 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0617052ddde355ee663b2f048e67dd381e5ebd6a
它其实是,使能了一个从EL1的kernel返回EL0的时候,把kernel unmap掉的功能,这样让user不可见内核:

+config UNMAP_KERNEL_AT_EL0
+bool "Unmap kernel when running in userspace (aka \"KAISER\")"
+default y
+help
+  Some attacks against KASLR make use of the timing difference between
+  a permission fault which could arise from a page table entry that is
+  present in the TLB, and a translation fault which always requir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只晨兴夜不得寐的运维人

你的打赏,是我今晚餐桌上的鸡腿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值