From: Matthias Kruk Date: Sat, 21 Mar 2020 17:12:25 +0000 (+0900) Subject: kernel/arch: Fix task_lock() and task_unlock() functions X-Git-Url: https://git.corax.cc/?a=commitdiff_plain;h=49c9fe75946ce451156891401070f3cfe4b30c58;p=corax kernel/arch: Fix task_lock() and task_unlock() functions --- 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 /*