summaryrefslogtreecommitdiffstats
path: root/fs/exec.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-03-17 22:05:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-03-17 22:05:47 +0000
commit27cfca1ec98e91261b1a5355d10a8996464b63af (patch)
tree8e895a53e372fa682b4c0a585b9377d67ed70d0e /fs/exec.c
parent6a76fb7214c477ccf6582bd79c5b4ccc4f9c41b1 (diff)
Look Ma' what I found on my harddisk ...
o New faster syscalls for 2.1.x, too o Upgrade to 2.1.89. Don't try to run this. It's flaky as hell. But feel free to debug ...
Diffstat (limited to 'fs/exec.c')
-rw-r--r--fs/exec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/exec.c b/fs/exec.c
index a358a3c45..f023054c6 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -334,7 +334,7 @@ unsigned long setup_arg_pages(unsigned long p, struct linux_binprm * bprm)
mpnt->vm_flags = VM_STACK_FLAGS;
mpnt->vm_ops = NULL;
mpnt->vm_offset = 0;
- mpnt->vm_dentry = NULL;
+ mpnt->vm_file = NULL;
mpnt->vm_pte = 0;
insert_vm_struct(current->mm, mpnt);
current->mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT;
@@ -522,7 +522,7 @@ int flush_old_exec(struct linux_binprm * bprm)
* Release all of the old mmap stuff
*/
retval = exec_mmap();
- if (retval) goto flush_failed;
+ if (retval) goto mmap_failed;
/* This is the point of no return */
release_old_signals(oldsig);
@@ -550,6 +550,9 @@ int flush_old_exec(struct linux_binprm * bprm)
return 0;
+mmap_failed:
+ if (current->sig != oldsig)
+ kfree(current->sig);
flush_failed:
current->sig = oldsig;
return retval;