From dd0b266dbe8a5c5d132640ee944f2232f1ff2c1c Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 26 May 2025 15:01:26 +0200 Subject: feat: Validate stack_ptr and task switch. Signed-off-by: Amlal El Mahrouss --- dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'dev') diff --git a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc index fe3ee89b..1fbf9fea 100644 --- a/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc +++ b/dev/kernel/HALKit/AMD64/HalApplicationProcessor.cc @@ -114,12 +114,15 @@ EXTERN_C HAL::StackFramePtr mp_get_current_task(Int64 thrdid) { EXTERN_C BOOL mp_register_task(HAL::StackFramePtr stack_frame, ProcessID thrdid) { if (thrdid > kSMPCount) return NO; + if (!stack_frame) return NO; kHWThread[thrdid].mFramePtr = stack_frame; kHWThread[thrdid].mThreadID = thrdid; HardwareThreadScheduler::The()[thrdid].Leak()->Busy(NO); + sched_jump_to_task(kHWThread[thrdid].mFramePtr); + return YES; } -- cgit v1.2.3