diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-04-19 02:27:45 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-04-19 03:04:27 +0200 |
commit | a44f51203c43bb4306a225506075740cdacaccfa (patch) | |
tree | e10e654f3312a7cf853753bf9c51cba040036147 /i386 | |
parent | f1f7313e73ae48157f2cba731f7f81d8af461b40 (diff) |
Close call stack on continuation
* i386/i386/locore.S (call_continuation): Push dummy return address instead
of letting the callee get a random one.
Diffstat (limited to 'i386')
-rw-r--r-- | i386/i386/locore.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/i386/i386/locore.S b/i386/i386/locore.S index 8571611..379b219 100644 --- a/i386/i386/locore.S +++ b/i386/i386/locore.S @@ -599,6 +599,7 @@ ENTRY(call_continuation) addl $(-3-IKS_SIZE),%ecx movl %ecx,%esp /* pop the stack */ xorl %ebp,%ebp /* zero frame pointer */ + pushl $0 /* Dummy return address */ jmp *%eax /* goto continuation */ |