From: Eric W. Biederman After thinking about the problem init_tref really is unnecessary and just clutters up the code. So this patch kills it and updates the Documentation. Allowing later patches to not have to deal with it. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton --- fs/proc/base.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/proc/base.c~proc-dont-lock-task_structs-indefinitely-kill-init_tref fs/proc/base.c --- devel/fs/proc/base.c~proc-dont-lock-task_structs-indefinitely-kill-init_tref 2006-03-06 18:11:29.000000000 -0800 +++ devel-akpm/fs/proc/base.c 2006-03-06 18:11:29.000000000 -0800 @@ -1341,8 +1341,8 @@ static struct inode *proc_pid_make_inode /* * grab the reference to task. */ - tref_set(&ei->tref, tref_get_by_task(task, PIDTYPE_PID)); - if (!ei->tref->task) + ei->tref = tref_get_by_task(task, PIDTYPE_PID); + if (!tref_task(ei->tref)) goto out_unlock; inode->i_uid = 0; _