summaryrefslogtreecommitdiff
path: root/asm/task.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/task.s')
-rw-r--r--asm/task.s9
1 files changed, 7 insertions, 2 deletions
diff --git a/asm/task.s b/asm/task.s
index 4322da5..bf80025 100644
--- a/asm/task.s
+++ b/asm/task.s
@@ -7,6 +7,7 @@ task_pusha:
push $userfunc
push $0x666
+ push $0x0
pusha
@@ -19,7 +20,7 @@ task_pusha:
now stack looks like:
- param // esp+68
+ param // esp+72
returnaddy
eflags
@@ -44,7 +45,7 @@ task_pusha:
*/
- mov 68(%esp),%eax // get address of alternative stack where we want to simulate the pusha
+ mov 72(%esp),%eax // get address of alternative stack where we want to simulate the pusha happened
mov (%esp),%ecx
mov %ecx,(%eax)
@@ -94,6 +95,9 @@ task_pusha:
mov 60(%esp),%ecx
mov %ecx,60(%eax)
+ mov 64(%esp),%ecx
+ mov %ecx,64(%eax)
+
pop %gs
pop %fs
pop %es
@@ -105,5 +109,6 @@ task_pusha:
pop %eax
pop %eax
pop %eax
+ pop %eax
ret