|
@@ -1046,7 +1046,7 @@ EXPORT_SYMBOL_GPL(get_task_comm);
|
|
|
* so that a new one can be started
|
|
|
*/
|
|
|
|
|
|
-void set_task_comm(struct task_struct *tsk, char *buf)
|
|
|
+void set_task_comm(struct task_struct *tsk, const char *buf)
|
|
|
{
|
|
|
task_lock(tsk);
|
|
|
trace_task_rename(tsk, buf);
|
|
@@ -1055,21 +1055,6 @@ void set_task_comm(struct task_struct *tsk, char *buf)
|
|
|
perf_event_comm(tsk);
|
|
|
}
|
|
|
|
|
|
-static void filename_to_taskname(char *tcomm, const char *fn, unsigned int len)
|
|
|
-{
|
|
|
- int i, ch;
|
|
|
-
|
|
|
- /* Copies the binary name from after last slash */
|
|
|
- for (i = 0; (ch = *(fn++)) != '\0';) {
|
|
|
- if (ch == '/')
|
|
|
- i = 0; /* overwrite what we wrote */
|
|
|
- else
|
|
|
- if (i < len - 1)
|
|
|
- tcomm[i++] = ch;
|
|
|
- }
|
|
|
- tcomm[i] = '\0';
|
|
|
-}
|
|
|
-
|
|
|
int flush_old_exec(struct linux_binprm * bprm)
|
|
|
{
|
|
|
int retval;
|
|
@@ -1083,8 +1068,6 @@ int flush_old_exec(struct linux_binprm * bprm)
|
|
|
goto out;
|
|
|
|
|
|
set_mm_exe_file(bprm->mm, bprm->file);
|
|
|
-
|
|
|
- filename_to_taskname(bprm->tcomm, bprm->filename, sizeof(bprm->tcomm));
|
|
|
/*
|
|
|
* Release all of the old mmap stuff
|
|
|
*/
|
|
@@ -1127,7 +1110,7 @@ void setup_new_exec(struct linux_binprm * bprm)
|
|
|
else
|
|
|
set_dumpable(current->mm, suid_dumpable);
|
|
|
|
|
|
- set_task_comm(current, bprm->tcomm);
|
|
|
+ set_task_comm(current, kbasename(bprm->filename));
|
|
|
|
|
|
/* Set the new mm task size. We have to do that late because it may
|
|
|
* depend on TIF_32BIT which is only updated in flush_thread() on
|