On Fri, Jul 05, 2019 at 09:47:30PM +0800, Peng Wang wrote: > diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c > index a387534c9577..ea3fc972c48b 100644 > --- a/fs/kernfs/dir.c > +++ b/fs/kernfs/dir.c > @@ -430,7 +430,7 @@ struct kernfs_node *kernfs_get_active(struct kernfs_node > *kn) > */ > void kernfs_put_active(struct kernfs_node *kn) > { > - struct kernfs_root *root = kernfs_root(kn); > + struct kernfs_root *root; > int v; > > if (unlikely(!kn)) > @@ -442,6 +442,7 @@ void kernfs_put_active(struct kernfs_node *kn) > if (likely(v != KN_DEACTIVATED_BIAS)) > return; > > + root = kernfs_root(kn); > wake_up_all(&root->deactivate_waitq);
Maybe just remove the root variable altogether? Other than that, Acked-by: Tejun Heo <t...@kernel.org> Thanks. -- tejun