-
Notifications
You must be signed in to change notification settings - Fork 0
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
Update exec
to align with POSIX standard
#93
base: main
Are you sure you want to change the base?
Conversation
@@ -222,8 +238,9 @@ impl Cage { | |||
// newsigset.insert(0, mainsigset); | |||
} | |||
|
|||
// Update status | |||
let newcage = Cage { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can talk a bit more about this on Monday but I believe that we don't need to create a new cage struct here, the old one should be sufficient
Have you changed the test for exec, or any other place that used exec_syscall? Since the function signature of exec_syscall is changed (from taking one argument to taking no argument), then for example, |
The implementation details still need to be confirmed, which is also the purpose of this PR. Plan to discuss this further on Monday and will update the tests (including implementations and signatures) once everything is finalized. Feel free to share any specific concerns or suggestions you might have—we can address them together :) |
Description
Fixes #33
To facilitate discussions around implementation details. Feedback and suggestions are welcome to refine the approach.
To fully implement the exec functionality while aligning with POSIX standards.
In our implementation, WASM is responsible for handling functionalities such as loading and executing the new program, preserving process attributes, and resetting memory and the stack. In RawPOSIX, the focus is on memory management inheritance and resource cleanup and release. Specifically, RawPOSIX handles tasks such as clearing memory mappings, resetting shared memory, managing file descriptors (closing or inheriting them based on the
should_cloexec
flag in fdtable), resetting semaphores, and managing process attributes and threads (terminating unnecessary threads).Type of change
How Has This Been Tested?
NEED TEST
Checklist: