aboutsummaryrefslogtreecommitdiffstats
path: root/fs/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/exec.c')
-rw-r--r--fs/exec.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/fs/exec.c b/fs/exec.c
index 172ceb6edde4..5c833c18d0d4 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -33,7 +33,7 @@
33#include <linux/string.h> 33#include <linux/string.h>
34#include <linux/init.h> 34#include <linux/init.h>
35#include <linux/pagemap.h> 35#include <linux/pagemap.h>
36#include <linux/perf_counter.h> 36#include <linux/perf_event.h>
37#include <linux/highmem.h> 37#include <linux/highmem.h>
38#include <linux/spinlock.h> 38#include <linux/spinlock.h>
39#include <linux/key.h> 39#include <linux/key.h>
@@ -845,6 +845,9 @@ static int de_thread(struct task_struct *tsk)
845 sig->notify_count = 0; 845 sig->notify_count = 0;
846 846
847no_thread_group: 847no_thread_group:
848 if (current->mm)
849 setmax_mm_hiwater_rss(&sig->maxrss, current->mm);
850
848 exit_itimers(sig); 851 exit_itimers(sig);
849 flush_itimer_signals(); 852 flush_itimer_signals();
850 853
@@ -923,7 +926,7 @@ void set_task_comm(struct task_struct *tsk, char *buf)
923 task_lock(tsk); 926 task_lock(tsk);
924 strlcpy(tsk->comm, buf, sizeof(tsk->comm)); 927 strlcpy(tsk->comm, buf, sizeof(tsk->comm));
925 task_unlock(tsk); 928 task_unlock(tsk);
926 perf_counter_comm(tsk); 929 perf_event_comm(tsk);
927} 930}
928 931
929int flush_old_exec(struct linux_binprm * bprm) 932int flush_old_exec(struct linux_binprm * bprm)
@@ -997,7 +1000,7 @@ int flush_old_exec(struct linux_binprm * bprm)
997 * security domain: 1000 * security domain:
998 */ 1001 */
999 if (!get_dumpable(current->mm)) 1002 if (!get_dumpable(current->mm))
1000 perf_counter_exit_task(current); 1003 perf_event_exit_task(current);
1001 1004
1002 /* An exec changes our domain. We are no longer part of the thread 1005 /* An exec changes our domain. We are no longer part of the thread
1003 group */ 1006 group */
@@ -1354,6 +1357,8 @@ int do_execve(char * filename,
1354 if (retval < 0) 1357 if (retval < 0)
1355 goto out; 1358 goto out;
1356 1359
1360 current->stack_start = current->mm->start_stack;
1361
1357 /* execve succeeded */ 1362 /* execve succeeded */
1358 current->fs->in_exec = 0; 1363 current->fs->in_exec = 0;
1359 current->in_execve = 0; 1364 current->in_execve = 0;