-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
c18n: [WIP] Do not store stack metadata at its bottom
Currently, each compartment's stack contains a struct stk_bottom at its bottom. This struct keeps track of the top of that compartment's stack. If a compartment corrupts this struct, it will behave in unexpected ways and likely crash due to a corrupted stack pointer. While this does not pose any security risk to other compartments or RTLD, a better design is possible that does not rely on the compartment to keep track of any information. The trampoline and other parts of RTLD are refactored. A redzone in the trusted stack is introduced to make trampolines reentrant. The trusted frame is redesigned to allow trampolines to perform tail-calls that do not push a trusted frame.
- Loading branch information
Showing
13 changed files
with
994 additions
and
1,009 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.