From: Greg Kroah-Hartman Date: Mon, 13 Jan 2014 21:50:31 +0000 (-0800) Subject: Revert "kernfs: remove unnecessary NULL check in __kernfs_remove()" X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=ce9b499c9f58d7f3f680413f3ab5407f4e647ba2;p=openwrt%2Fstaging%2Fblogic.git Revert "kernfs: remove unnecessary NULL check in __kernfs_remove()" This reverts commit 88533f990c616cf50c2fe585ea03f75c806a293d. Tejun writes: I'm sorry but can you please revert the whole series? get_active() waiting while a node is deactivated has potential to lead to deadlock and that deactivate/reactivate interface is something fundamentally flawed and that cgroup will have to work with the remove_self() like everybody else. IOW, I think the first posting was correct. Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c index 4076e8a7c269..a8028be6cdb7 100644 --- a/fs/kernfs/dir.c +++ b/fs/kernfs/dir.c @@ -920,6 +920,9 @@ static void __kernfs_remove(struct kernfs_node *kn) lockdep_assert_held(&kernfs_mutex); + if (!kn) + return; + pr_debug("kernfs %s: removing\n", kn->name); __kernfs_deactivate(kn);