Skip to content

Commit d8cc09d

Browse files
committed
Fix asm error
1 parent 7f9161d commit d8cc09d

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/machine/asm/mod.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ use ckb_vm_definitions::{
99
asm::{
1010
FixedTrace, InvokeData, RET_CYCLES_OVERFLOW, RET_DECODE_TRACE, RET_DYNAMIC_JUMP,
1111
RET_EBREAK, RET_ECALL, RET_INVALID_PERMISSION, RET_MAX_CYCLES_EXCEEDED, RET_OUT_OF_BOUND,
12-
RET_PAUSE, RET_SLOWPATH,
12+
RET_PAUSE, RET_SHADOW_STACK_SOFTWARE_CHECK_EXCEPTION, RET_SHADOW_STACK_STACK_OUT_OF_STACK,
13+
RET_SLOWPATH,
1314
},
1415
};
1516
use rand::{SeedableRng, prelude::RngCore};
@@ -864,6 +865,12 @@ impl<R: AsmCoreMachineRevealer, D: TraceDecoder> DefaultMachineRunner for Abstra
864865
self.machine.pause.free();
865866
return Err(Error::Pause);
866867
}
868+
RET_SHADOW_STACK_SOFTWARE_CHECK_EXCEPTION => {
869+
return Err(Error::ShadowStackSoftwareCheckException);
870+
}
871+
RET_SHADOW_STACK_STACK_OUT_OF_STACK => {
872+
return Err(Error::ShadowStackOutOfStack);
873+
}
867874
_ => return Err(Error::Asm(result)),
868875
}
869876
}
@@ -927,6 +934,12 @@ impl<R: AsmCoreMachineRevealer, D: TraceDecoder> AbstractAsmMachine<R, D> {
927934
let instruction = decoder.decode(self.machine.memory_mut(), pc)?;
928935
execute_instruction(instruction, &mut self.machine)?;
929936
}
937+
RET_SHADOW_STACK_SOFTWARE_CHECK_EXCEPTION => {
938+
return Err(Error::ShadowStackSoftwareCheckException);
939+
}
940+
RET_SHADOW_STACK_STACK_OUT_OF_STACK => {
941+
return Err(Error::ShadowStackOutOfStack);
942+
}
930943
_ => return Err(Error::Asm(result)),
931944
}
932945
Ok(())

0 commit comments

Comments
 (0)