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 first decrements ssp by XLEN/8, stores a shadow copy of x1 or x5 to the new ssp address, and commits the ssp update only after the shadow-stack store succeeds. It is used in non-leaf prologues alongside the normal stack return-address save.
SSPUSH belongs to the RISC-V CFI instruction set; behavior depends on whether Zicfilp/Zicfiss is enabled and on environment configuration.
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.