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/inode.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN fs/proc/inode.c~proc-dont-lock-task_structs-indefinitely-kill-init_tref-inode fs/proc/inode.c --- devel/fs/proc/inode.c~proc-dont-lock-task_structs-indefinitely-kill-init_tref-inode 2006-03-06 18:12:45.000000000 -0800 +++ devel-akpm/fs/proc/inode.c 2006-03-06 18:12:45.000000000 -0800 @@ -62,7 +62,7 @@ static void proc_delete_inode(struct ino truncate_inode_pages(&inode->i_data, 0); /* Stop tracking associated processes */ - tref_fini(&PROC_I(inode)->tref); + tref_put(PROC_I(inode)->tref); /* Let go of any associated proc directory entry */ de = PROC_I(inode)->pde; @@ -91,7 +91,7 @@ static struct inode *proc_alloc_inode(st ei = (struct proc_inode *)kmem_cache_alloc(proc_inode_cachep, SLAB_KERNEL); if (!ei) return NULL; - tref_init(&ei->tref); + ei->tref = NULL; ei->fd = 0; ei->op.proc_get_link = NULL; ei->pde = NULL; _