X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=fs%2Fexec.c;h=5c833c18d0d47bef760c9a4053f5188e34781105;hb=9f6c1333938c5d93da8be8f29f3b5469a3c00f95;hp=172ceb6edde4df6ff8520cd9951b3bc2ca86b2c2;hpb=81ce31b773226332475f89501b1072bec0c0e241;p=deliverable%2Flinux.git 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 @@ #include #include #include -#include +#include #include #include #include @@ -845,6 +845,9 @@ static int de_thread(struct task_struct *tsk) sig->notify_count = 0; no_thread_group: + if (current->mm) + setmax_mm_hiwater_rss(&sig->maxrss, current->mm); + exit_itimers(sig); flush_itimer_signals(); @@ -923,7 +926,7 @@ void set_task_comm(struct task_struct *tsk, char *buf) task_lock(tsk); strlcpy(tsk->comm, buf, sizeof(tsk->comm)); task_unlock(tsk); - perf_counter_comm(tsk); + perf_event_comm(tsk); } int flush_old_exec(struct linux_binprm * bprm) @@ -997,7 +1000,7 @@ int flush_old_exec(struct linux_binprm * bprm) * security domain: */ if (!get_dumpable(current->mm)) - perf_counter_exit_task(current); + perf_event_exit_task(current); /* An exec changes our domain. We are no longer part of the thread group */ @@ -1354,6 +1357,8 @@ int do_execve(char * filename, if (retval < 0) goto out; + current->stack_start = current->mm->start_stack; + /* execve succeeded */ current->fs->in_exec = 0; current->in_execve = 0;