SSRDP 未启用相关 CFI 时会怎样?
xSSE=0 时,SSRDP 的 MOP 行为向目标寄存器写入 0;xSSE=1 时才写入 ssp。
读取当前 ssp;未启用 Zicfiss 时按 Zimop 性质写入 0。
入门理解:SSRDP 用于运行时、异常展开或栈切换代码读取 ssp。若 Zicfiss 未启用,目标寄存器写入 0,因此软件常用它动态判断影子栈是否处于活动状态。
只显示规范定义的编码、条件和架构可见状态。
SSRDP 是 Zicfiss 的 ssp 读取指令;未激活时按 Zimop 性质写入 0。
使用 jal ra, label 或 jalr ra, rs, imm。
结合 «ssrdp t0» 等实际代码理解该场景。
结合 «ssrdp t0» 等实际代码理解该场景。
结合 «ssrdp t0» 等实际代码理解该场景。
xSSE=0 时,SSRDP 的 MOP 行为向目标寄存器写入 0;xSSE=1 时才写入 ssp。
RISC-V 非特权 ISA 的 Control-flow Integrity 章节定义 LPAD、SSPUSH、SSPOPCHK、SSRDP 和 SSAMOSWAP。