LPAD 未启用相关 CFI 时会怎样?
LPAD 按 no-op 执行。
Zicfilp 着陆垫指令;启用前向 CFI 时验证间接跳转/调用目标。
入门理解:启用前向 CFI 时,间接调用/跳转到达的目标必须以 LPAD 开始,否则会触发 software-check 异常。LPAD 可带 20 位着陆点标签;未启用 Zicfilp 时它按 no-op 兼容执行。
LPAD 属于 RISC-V Zicfilp 前向 CFI 指令;其行为受 Zicfilp 是否启用以及相关环境配置控制。
结合 «lpad 0» 等实际代码理解该场景。
结合 «lpad 0» 等实际代码理解该场景。
结合 «lpad 0» 等实际代码理解该场景。
LPAD 按 no-op 执行。
RISC-V 非特权 ISA 的 Control-flow Integrity 章节定义 LPAD、SSPUSH、SSPOPCHK、SSRDP 和 SSAMOSWAP。