From 49c9fe75946ce451156891401070f3cfe4b30c58 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Sun, 22 Mar 2020 02:12:25 +0900 Subject: [PATCH] kernel/arch: Fix task_lock() and task_unlock() functions --- kernel/arch/task.S | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kernel/arch/task.S b/kernel/arch/task.S index f05f64b..fe62d54 100644 --- a/kernel/arch/task.S +++ b/kernel/arch/task.S @@ -489,15 +489,19 @@ task_move_stack: 4: ret task_lock: - addl $OFFSET_TASK_LOCK, 4(%esp) + movl 4(%esp), %eax + addl $OFFSET_TASK_LOCK, %eax + pushl %eax call spinlock_lock - subl $OFFSET_TASK_LOCK, 4(%esp) + addl $4, %esp ret task_unlock: - addl $OFFSET_TASK_LOCK, 4(%esp) + movl 4(%esp), %eax + addl $OFFSET_TASK_LOCK, %eax + pushl %eax call spinlock_unlock - subl $OFFSET_TASK_LOCK, 4(%esp) + addl $4, %esp ret /* -- 2.47.3