From 060bbd6308f6d1fefb8fbe8a6e91d7420865a0fa Mon Sep 17 00:00:00 2001 From: Binno Date: Tue, 20 Aug 2024 01:03:05 -0700 Subject: [PATCH] Need zero extend for sspopchk compared vale * when xlen is 32 --- riscv/zicfiss.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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