ARMv8.3 的 PAC 特性
名词释义:
PAC: Pointer Authentication Code PA: Pointer Authentication SCTLR: System ConTroL Register 该特性为指针值提供【签名】和【校验】的能力。ARM64 硬件上提供 5 个秘钥,分别用于为三种地址生成 PAC:
代码地址:API{A,B}Key 数据地址:APD{A,B}Key 通用地址:APGAKey PAC 的值是关于以下三者的函数:1、指针本身;2、上下文相关值(也称 Modifier)1;3、秘钥。
生成后,PAC 会被附在指针值上(即“签在上面”),其所处的位置和长度与当前处理器:1)设置的虚拟地址长度以及;2) …