-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Stackless error handler doesn't work in initial trusted stack frame if sp
is corrupted
#321
Comments
nwf
added a commit
to nwf/cheriot-rtos
that referenced
this issue
Oct 22, 2024
Partially addresses CHERIoT-Platform#321 , but is not the end of it. Co-authored-by: Robert Norton <robert.norton@microsoft.com>
nwf
added a commit
to nwf/cheriot-rtos
that referenced
this issue
Oct 22, 2024
We were not installing the correct thing into ct0 (which would then get moved into csp) prior to reaching .Linvoke_error_handler when the thread was in its initial compartment invocation. FIXES: CHERIoT-Platform#321
nwf
added a commit
to nwf/cheriot-rtos
that referenced
this issue
Oct 25, 2024
Partially addresses CHERIoT-Platform#321 , but is not the end of it. Co-authored-by: Robert Norton <robert.norton@microsoft.com>
nwf
added a commit
to nwf/cheriot-rtos
that referenced
this issue
Oct 25, 2024
We were not installing the correct thing into ct0 (which would then get moved into csp) prior to reaching .Linvoke_error_handler when the thread was in its initial compartment invocation. FIXES: CHERIoT-Platform#321
nwf
added a commit
that referenced
this issue
Oct 29, 2024
Partially addresses #321 , but is not the end of it. Co-authored-by: Robert Norton <robert.norton@microsoft.com>
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
The stackless error handler does not work if the thread is in the first trusted stack frame.
This is partly due to
cheriot-rtos/sdk/core/switcher/entry.S
Line 645 in b9f206a
t1
should betp
) but even once that is fixed it appears to rely on the interrupted thread's stack pointer which might have been corrupted.I'm not sure whether the initial stack pointer for the thread is available anywhere to restore.
The text was updated successfully, but these errors were encountered: