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

c18n: Save caller's stack pointer in trusted frame #2061

Merged
merged 1 commit into from
Mar 20, 2024
Merged

Conversation

dpgao
Copy link
Contributor

@dpgao dpgao commented Mar 19, 2024

Previously, the caller's stack pointer is only saved at the bottom of the caller's stack during domain transition. This means that the act of unwinding a trusted frame relies on external state, namely the value at the bottom of the caller's stack.

We now also save the caller's stack pointer in the trusted frame so that unwinding can be stateless, i.e., inspecting the content of the trusted frame alone is sufficient for restoring the stack pointer of the caller.

Previously, the caller's stack pointer is only saved at the bottom of
the caller's stack during domain transition. This means that the act of
unwinding a trusted frame relies on external state, namely the value at
the bottom of the caller's stack.

We now also save the caller's stack pointer in the trusted frame so that
unwinding can be stateless, i.e., inspecting the content of the trusted
frame alone is sufficient for restoring the stack pointer of the caller.
@dpgao dpgao merged commit 9adf052 into dev Mar 20, 2024
9 of 16 checks passed
@dpgao dpgao deleted the c18n-nsp-real branch March 20, 2024 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant