|
@@ -2604,9 +2604,6 @@ static void proc_flush_task_mnt(struct vfsmount *mnt, pid_t pid, pid_t tgid)
|
|
dput(dentry);
|
|
dput(dentry);
|
|
}
|
|
}
|
|
|
|
|
|
- if (tgid == 0)
|
|
|
|
- goto out;
|
|
|
|
-
|
|
|
|
name.name = buf;
|
|
name.name = buf;
|
|
name.len = snprintf(buf, sizeof(buf), "%d", tgid);
|
|
name.len = snprintf(buf, sizeof(buf), "%d", tgid);
|
|
leader = d_hash_and_lookup(mnt->mnt_root, &name);
|
|
leader = d_hash_and_lookup(mnt->mnt_root, &name);
|
|
@@ -2663,17 +2660,16 @@ out:
|
|
void proc_flush_task(struct task_struct *task)
|
|
void proc_flush_task(struct task_struct *task)
|
|
{
|
|
{
|
|
int i;
|
|
int i;
|
|
- struct pid *pid, *tgid = NULL;
|
|
|
|
|
|
+ struct pid *pid, *tgid;
|
|
struct upid *upid;
|
|
struct upid *upid;
|
|
|
|
|
|
pid = task_pid(task);
|
|
pid = task_pid(task);
|
|
- if (thread_group_leader(task))
|
|
|
|
- tgid = task_tgid(task);
|
|
|
|
|
|
+ tgid = task_tgid(task);
|
|
|
|
|
|
for (i = 0; i <= pid->level; i++) {
|
|
for (i = 0; i <= pid->level; i++) {
|
|
upid = &pid->numbers[i];
|
|
upid = &pid->numbers[i];
|
|
proc_flush_task_mnt(upid->ns->proc_mnt, upid->nr,
|
|
proc_flush_task_mnt(upid->ns->proc_mnt, upid->nr,
|
|
- tgid ? tgid->numbers[i].nr : 0);
|
|
|
|
|
|
+ tgid->numbers[i].nr);
|
|
}
|
|
}
|
|
|
|
|
|
upid = &pid->numbers[pid->level];
|
|
upid = &pid->numbers[pid->level];
|