From 39e18cfd426257511ee4f88c9b9a517905264b39 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Wed, 14 Nov 2007 17:00:07 -0800 Subject: [PATCH] --- yaml --- r: 73721 b: refs/heads/master c: 9fcc2d15b14894aa53e5e8b7fd5d6e3ca558e5df h: refs/heads/master i: 73719: 34569bbe5fd888374f7f45172b0dc19f8408d37b v: v3 --- [refs] | 2 +- trunk/fs/proc/base.c | 15 ++++++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index fc2337f56dcd..ebda819168c9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0f2a9d75aed1a4be40c3975b94fd39066bd11bb +refs/heads/master: 9fcc2d15b14894aa53e5e8b7fd5d6e3ca558e5df diff --git a/trunk/fs/proc/base.c b/trunk/fs/proc/base.c index aeaf0d0f2f51..a17c26859074 100644 --- a/trunk/fs/proc/base.c +++ b/trunk/fs/proc/base.c @@ -2328,21 +2328,18 @@ static void proc_flush_task_mnt(struct vfsmount *mnt, pid_t pid, pid_t tgid) void proc_flush_task(struct task_struct *task) { - int i, leader; - struct pid *pid, *tgid; + int i; + struct pid *pid, *tgid = NULL; struct upid *upid; - leader = thread_group_leader(task); - proc_flush_task_mnt(proc_mnt, task->pid, leader ? task->tgid : 0); pid = task_pid(task); - if (pid->level == 0) - return; + if (thread_group_leader(task)) + tgid = task_tgid(task); - tgid = task_tgid(task); - for (i = 1; i <= pid->level; i++) { + for (i = 0; i <= pid->level; i++) { upid = &pid->numbers[i]; proc_flush_task_mnt(upid->ns->proc_mnt, upid->nr, - leader ? 0 : tgid->numbers[i].nr); + tgid ? tgid->numbers[i].nr : 0); } upid = &pid->numbers[pid->level];