Browse Source

cgroup: cgroup_rm_files() was calling simple_unlink() with the wrong inode

While refactoring cgroup file removal path, 05ef1d7c4a "cgroup:
introduce struct cfent" incorrectly changed the @dir argument of
simple_unlink() to the inode of the file being deleted instead of that
of the containing directory.

The effect of this bug is minor - ctime and mtime of the parent
weren't properly updated on file deletion.

Fix it by using @cgrp->dentry->d_inode instead.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Acked-by: Li Zefan <lizefan@huawei.com>
Cc: stable@vger.kernel.org
Tejun Heo 13 years ago
parent
commit
ce27e317ba
1 changed files with 1 additions and 1 deletions
  1. 1 1
      kernel/cgroup.c

+ 1 - 1
kernel/cgroup.c

@@ -959,7 +959,7 @@ static int cgroup_rm_file(struct cgroup *cgrp, const struct cftype *cft)
 
 
 		dget(d);
 		dget(d);
 		d_delete(d);
 		d_delete(d);
-		simple_unlink(d->d_inode, d);
+		simple_unlink(cgrp->dentry->d_inode, d);
 		list_del_init(&cfe->node);
 		list_del_init(&cfe->node);
 		dput(d);
 		dput(d);