Skip to content
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

Closed
Latrasis opened this issue Mar 7, 2019 · 6 comments
Closed

Procedure Table Storage Spec #114

Latrasis opened this issue Mar 7, 2019 · 6 comments
Assignees
Labels
A-spec Area: Specification disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it.

Comments

@Latrasis
Copy link
Member

Latrasis commented Mar 7, 2019

We need to update the procedure table spec in #113.

@Latrasis
Copy link
Member Author

Latrasis commented Mar 12, 2019

Here's a summary of what's left to discuss:

@JakeOShannessy
Copy link
Contributor

Move kernel storage to high-values (i.e. 0xffffffff).

@JakeOShannessy
Copy link
Contributor

JakeOShannessy commented Mar 13, 2019

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.

@Latrasis

This comment has been minimized.

@Latrasis
Copy link
Member Author

@JakeOShannessy: I've made additional comments. Should be ready to merge afterwards.

@Latrasis Latrasis added A-spec Area: Specification disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. labels Mar 15, 2019
@Latrasis
Copy link
Member Author

Closing on #113

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-spec Area: Specification disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it.
Projects
None yet
Development

No branches or pull requests

2 participants