git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: corner case for x87 context restore on execve
[lunaix-os.git]
/
lunaix-os
/
kernel
/
exe
/
exec.c
diff --git
a/lunaix-os/kernel/exe/exec.c
b/lunaix-os/kernel/exe/exec.c
index a8461269ec3d15d24431c8fb4bbe8e99764c12ab..21814d16c042ffb50e96fbe8d7ebb89cee846a80 100644
(file)
--- a/
lunaix-os/kernel/exe/exec.c
+++ b/
lunaix-os/kernel/exe/exec.c
@@
-224,6
+224,10
@@
__DEFINE_LXSYSCALL3(int,
execp->esp = container.stack_top;
execp->eip = container.exe.entry;
execp->esp = container.stack_top;
execp->eip = container.exe.entry;
+ // these become meaningless once execved!
+ __current->ustack_top = 0;
+ proc_clear_signal(__current);
+
done:
// set return value
store_retval(DO_STATUS(errno));
done:
// set return value
store_retval(DO_STATUS(errno));