diff options
author | rtm <rtm> | 2006-07-18 19:22:37 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-07-18 19:22:37 +0000 |
commit | bd228a81566befa6154807d327d8c873f6a76c79 (patch) | |
tree | 5e514950688f29a3150ec9c43c478c8208435c87 /proc.c | |
parent | 0dd4253747eef56d0f1539fac7d62234f6af5f51 (diff) | |
download | xv6-labs-bd228a81566befa6154807d327d8c873f6a76c79.tar.gz xv6-labs-bd228a81566befa6154807d327d8c873f6a76c79.tar.bz2 xv6-labs-bd228a81566befa6154807d327d8c873f6a76c79.zip |
prevent longjmp / forkret from writing over tf->edi
Diffstat (limited to 'proc.c')
-rw-r--r-- | proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -109,7 +109,7 @@ copyproc(struct proc* p) // Set up new jmpbuf to start executing at forkret (see below). memset(&np->jmpbuf, 0, sizeof np->jmpbuf); np->jmpbuf.eip = (uint)forkret; - np->jmpbuf.esp = (uint)np->tf; + np->jmpbuf.esp = (uint)np->tf - 4; // Copy file descriptors for(i = 0; i < NOFILE; i++){ |