[PATCH v2 1/3] coredump: use get_task_comm for %e filename format

From: Jiri Slaby
Date: Thu May 12 2011 - 02:18:53 EST


We currently access current->comm directly. As we have
prctl(PR_SET_NAME), we need the access be protected by task_lock. This
is exactly what get_task_comm does, so use it.

I'm not 100% convinced prctl(PR_SET_NAME) may be called at the time of
core dump, but the locking won't hurt. Note that siglock is not held
in format_corename.

Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Andi Kleen <andi@xxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
---
fs/exec.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/fs/exec.c b/fs/exec.c
index 5ee7562..155c6d4 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1656,9 +1656,12 @@ static int format_corename(struct core_name *cn, long signr)
up_read(&uts_sem);
break;
/* executable */
- case 'e':
- err = cn_printf(cn, "%s", current->comm);
+ case 'e': {
+ char comm[TASK_COMM_LEN];
+ err = cn_printf(cn, "%s",
+ get_task_comm(comm, current));
break;
+ }
case 'E':
err = cn_print_exe_file(cn);
break;
--
1.7.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/