[patch 1/1] comments on locking of task->comm

From: blaisorblade
Date: Tue Mar 15 2005 - 14:05:03 EST



From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>

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@xxxxxxxx>
---

linux-2.6.11-paolo/fs/exec.c | 4 +++-
linux-2.6.11-paolo/include/linux/sched.h | 7 +++++--
2 files changed, 8 insertions(+), 3 deletions(-)

diff -puN include/linux/sched.h~locking-use-commentary include/linux/sched.h
--- linux-2.6.11/include/linux/sched.h~locking-use-commentary 2005-03-12 19:06:25.000000000 +0100
+++ linux-2.6.11-paolo/include/linux/sched.h 2005-03-12 19:06:25.000000000 +0100
@@ -532,7 +532,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;
@@ -615,7 +615,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 */
diff -puN fs/exec.c~locking-use-commentary fs/exec.c
--- linux-2.6.11/fs/exec.c~locking-use-commentary 2005-03-12 19:06:25.000000000 +0100
+++ linux-2.6.11-paolo/fs/exec.c 2005-03-12 19:06:25.000000000 +0100
@@ -867,9 +867,11 @@ int flush_old_exec(struct linux_binprm *
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;
_
-
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/