diff --git a/riscv/zicfiss.h b/riscv/zicfiss.h index 83c166d5..c7aef64b 100644 --- a/riscv/zicfiss.h +++ b/riscv/zicfiss.h @@ -25,7 +25,7 @@ shadow_return_addr = MMU.ss_load(STATE.ssp->read()); \ else \ shadow_return_addr = MMU.ss_load(STATE.ssp->read()); \ - software_check(value == shadow_return_addr, SHADOW_STACK_FAULT); \ + software_check(zext_xlen(value) == shadow_return_addr, SHADOW_STACK_FAULT); \ STATE.ssp->write(STATE.ssp->read() + xlen / 8); #endif