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
refactor: organize all arch related files together.
[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 21814d16c042ffb50e96fbe8d7ebb89cee846a80..8a14c4ad0f8059694430f3cc65b98956f586e6ba 100644
(file)
--- a/
lunaix-os/kernel/exe/exec.c
+++ b/
lunaix-os/kernel/exe/exec.c
@@
-220,9
+220,8
@@
__DEFINE_LXSYSCALL3(int,
// we will jump to new entry point (_u_start) upon syscall's
// return so execve 'will not return' from the perspective of it's invoker
// we will jump to new entry point (_u_start) upon syscall's
// return so execve 'will not return' from the perspective of it's invoker
- volatile struct exec_param* execp = __current->intr_ctx->execp;
- execp->esp = container.stack_top;
- execp->eip = container.exe.entry;
+ eret_target(__current) = container.exe.entry;
+ eret_stack(__current) = container.stack_top;
// these become meaningless once execved!
__current->ustack_top = 0;
// these become meaningless once execved!
__current->ustack_top = 0;