summaryrefslogtreecommitdiffstats
path: root/fs/exec.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-02-02 01:05:22 -0700
committerGrant Likely <grant.likely@secretlab.ca>2010-02-02 01:05:22 -0700
commitfb7899b1f0b748ef966071f5dc23c59ebd57d08f (patch)
tree2f13f9d8607871a60334608524e8b4e9447f5309 /fs/exec.c
parent212b3c8b8ab94d983c2e0ee1821f17dd5b4e0859 (diff)
parentabe94c756c08d50566c09a65b9c7fe72f83071c5 (diff)
Merge commit 'v2.6.33-rc6' into secretlab/next-spi
Diffstat (limited to 'fs/exec.c')
-rw-r--r--fs/exec.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/fs/exec.c b/fs/exec.c
index 632b02e34ec..675c3f44c2e 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -941,9 +941,7 @@ void set_task_comm(struct task_struct *tsk, char *buf)
int flush_old_exec(struct linux_binprm * bprm)
{
- char * name;
- int i, ch, retval;
- char tcomm[sizeof(current->comm)];
+ int retval;
/*
* Make sure we have a private signal table and that
@@ -963,6 +961,20 @@ int flush_old_exec(struct linux_binprm * bprm)
goto out;
bprm->mm = NULL; /* We're using it now */
+ return 0;
+
+out:
+ return retval;
+}
+EXPORT_SYMBOL(flush_old_exec);
+
+void setup_new_exec(struct linux_binprm * bprm)
+{
+ int i, ch;
+ char * name;
+ char tcomm[sizeof(current->comm)];
+
+ arch_pick_mmap_layout(current->mm);
/* This is the point of no return */
current->sas_ss_sp = current->sas_ss_size = 0;
@@ -1019,14 +1031,8 @@ int flush_old_exec(struct linux_binprm * bprm)
flush_signal_handlers(current, 0);
flush_old_files(current->files);
-
- return 0;
-
-out:
- return retval;
}
-
-EXPORT_SYMBOL(flush_old_exec);
+EXPORT_SYMBOL(setup_new_exec);
/*
* Prepare credentials and lock ->cred_guard_mutex.