What happens if the related CFI feature is inactive for SSPUSH?
Zicfiss instructions degrade according to the official Zimop/Zcmop-compatible behavior and do not perform shadow-stack checks or updates.
SSPUSH pushes the x1/x5 link-register value onto the downward-growing shadow stack.
SSPUSH stores a shadow copy of x1 or x5 to the address ssp - XLEN/8, then commits ssp to that new value only after the shadow-stack store succeeds. It is used in non-leaf prologues alongside the normal stack return-address save.
Shows only specification-defined encodings, conditions, and architectural state.
SSPUSH is a Zicfiss shadow-stack push; it updates ssp only after the store completes.
Understand this scenario with real code like «sspush x1».
Understand this scenario with real code like «sspush x1».
Understand this scenario with real code like «sspush x1».
Zicfiss instructions degrade according to the official Zimop/Zcmop-compatible behavior and do not perform shadow-stack checks or updates.
The Control-Flow Integrity chapter of the RISC-V Unprivileged ISA defines LPAD, SSPUSH, SSPOPCHK, SSRDP, and SSAMOSWAP.