[PATCH] comments on locking of task->comm
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Thu, 5 May 2005 23:16:12 +0000 (16:16 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 5 May 2005 23:36:48 +0000 (16:36 -0700)
Add some comments about task->comm, to explain what it is near its definition
and provide some important pointers to its uses.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/exec.c
include/linux/sched.h

index 52acff3..e56ee24 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -869,9 +869,11 @@ int flush_old_exec(struct linux_binprm * bprm)
        if (current->euid == current->uid && current->egid == current->gid)
                current->mm->dumpable = 1;
        name = bprm->filename;
+
+       /* Copies the binary name from after last slash */
        for (i=0; (ch = *(name++)) != '\0';) {
                if (ch == '/')
-                       i = 0;
+                       i = 0; /* overwrite what we wrote */
                else
                        if (i < (sizeof(tcomm) - 1))
                                tcomm[i++] = ch;
index 5f868a5..4dbb109 100644 (file)
@@ -578,7 +578,7 @@ struct task_struct {
        unsigned long flags;    /* per process flags, defined below */
        unsigned long ptrace;
 
-       int lock_depth;         /* Lock depth */
+       int lock_depth;         /* BKL lock depth */
 
        int prio, static_prio;
        struct list_head run_list;
@@ -661,7 +661,10 @@ struct task_struct {
        struct key *thread_keyring;     /* keyring private to this thread */
 #endif
        int oomkilladj; /* OOM kill score adjustment (bit shift). */
-       char comm[TASK_COMM_LEN];
+       char comm[TASK_COMM_LEN]; /* executable name excluding path
+                                    - access with [gs]et_task_comm (which lock
+                                      it with task_lock())
+                                    - initialized normally by flush_old_exec */
 /* file system info */
        int link_count, total_link_count;
 /* ipc stuff */