Description
We currently have no support for handling signals. The current behavior is that we simply terminate. This is actually mostly reasonable behavior because signals are generally horrible. However, we might need to add facility for this in the future.
- Debugging relies heavily on
SIGTRAP
. - We probably need some way to notify the guest that it needs to shut down cleanly.
This is particularly important for two existing bits of code:
-
Our fix for SmashEx presumes that only an attack could cause an AEX during enclave transition. But if we allow signals in the loader, then a signal could fire during an enclave transition. This is not an attack and so we need to adjust how we handle it. In particular, we might want to return to the host with a status such as
EINTR
orEAGAIN
. -
How we handle signals has direct implications on our main loop. Further, the main loop is one of the invariants not currently dictated in the sallyport versioning. Thus it could represent an unversioned compatibility break.
One option could be to force everything through signalfd()
. But I don't know how this interacts with debugging.
Metadata
Metadata
Type
Projects
Status