-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Procedure Table Storage Spec #114
Comments
Here's a summary of what's left to discuss:
|
Move kernel storage to high-values (i.e. |
I've called the solution to procedure protection an "execution guard", and specified it as follows: 0x00: PUSH 0xffffffff0200...00 // Push kernel addr. location
0x21: SLOAD // Load value to the stack
0x22: PUSH 0x2a // Load value to the stack
0x24: JUMPI // Jump if kernel address non-zero
0x25: PUSH1 0x00 // Revert data size
0x27: PUSH1 0x00 // Revert data location
0x29: REVERT // Revert because we are not a kernel
0x2a: JUMPDEST // Destination to jump over We might be able to remove those last two pushes, but I think that relies on undefined behaviour, so I think we shouldn't, especially as they aren't executed in the normal path. |
This comment has been minimized.
This comment has been minimized.
@JakeOShannessy: I've made additional comments. Should be ready to merge afterwards. |
Closing on #113 |
We need to update the procedure table spec in #113.
The text was updated successfully, but these errors were encountered: