Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
arch: arm64: vdso: new
Add a very basic VDSO module which allow the kernel to provide various
functions to userspace, such as
sig_return.arch: arm64: signal: use VDSO for sigreturn
Support non SA_RESTORER sigactions by using the trampoline in the kernel
VDSO.
process: refactor signal handling and fix action table sharing
This commit refactors the signal handling subsystem to address a bug in
process creation and to improve the separation of concerns between
signal delivery and signal disposition.
Fix Action Table Sharing:
Previously, the signal action table was wrapped in an
Arc, causingforked child processes to inadvertently share signal dispositions with
the parent.
SignalActionStatenow contains a directSigActionSetandimplements Clone, ensuring that processes receive a private copy of the
action table upon fork/clone.
Decouple Signal Selection from Execution:
The logic for selecting a pending signal has been moved from the
disposition state into a new
take_signalmethod onOwnedTask. Thisdecouples the "taking" of a signal (respecting masks and priorities)
from the "actioning" of that signal. This is a prerequisite for
implementing ptrace.
Various cleanup bits:
SignalStatetoSignalActionStateto more accuratelyreflect that it manages signal dispositions.
pendingsignal set out of the action state and directlyinto the
ThreadGroupandOwnedTask.set_pendingtoset_signalfor consistency.dispatch_userspace_taskusing the new
take_signalAPI.