kernel/x86: disable trap and direction flag on signal handler entry
https://github.com/freebsd/freebsd-src/commit/846ac2266b625d13ce6d1fc9370c3c3cc2a960bb https://github.com/freebsd/freebsd-src/commit/22eca0bf45fa506e27a58007cfc70f08ce4f3538 Change-Id: I19620d15372572ce4498d9145fd6b0df50f91bb9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4043 Reviewed-by: X512 <[email protected]> Reviewed-by: Adrien Destugues <[email protected]> Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
37db8e9aed
commit
d9b9a94c4f
@@ -360,6 +360,7 @@ arch_setup_signal_frame(Thread* thread, struct sigaction* action,
|
||||
frame->ip = x86_get_user_signal_handler_wrapper(
|
||||
(action->sa_flags & SA_BEOS_COMPATIBLE_HANDLER) != 0,
|
||||
thread->team->commpage_address);
|
||||
frame->flags &= ~(X86_EFLAGS_TRAP | X86_EFLAGS_DIRECTION);
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -376,6 +376,7 @@ arch_setup_signal_frame(Thread* thread, struct sigaction* action,
|
||||
+ (addr_t)commPageAddress;
|
||||
clear_ac();
|
||||
frame->di = (addr_t)userSignalFrameData;
|
||||
frame->flags &= ~(uint64)(X86_EFLAGS_TRAP | X86_EFLAGS_DIRECTION);
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user