diff options
author | Peng Wang <rocking@whu.edu.cn> | 2019-07-08 23:16:11 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-25 15:30:48 +0200 |
commit | 2fd60da46da76948b8cc561ae8cc902209686253 (patch) | |
tree | 210588885a1e314349fca90aea6cfa5d3f11b3ef /fs/kernfs/dir.c | |
parent | 515db266a9dace92b0cbaed9a6044dd5304b8ca9 (diff) | |
download | linux-2fd60da46da76948b8cc561ae8cc902209686253.tar.gz linux-2fd60da46da76948b8cc561ae8cc902209686253.tar.bz2 linux-2fd60da46da76948b8cc561ae8cc902209686253.zip |
kernfs: fix potential null pointer dereference
Get root safely after kn is ensureed to be not null.
Signed-off-by: Peng Wang <rocking@whu.edu.cn>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20190708151611.13242-1-rocking@whu.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/kernfs/dir.c')
-rw-r--r-- | fs/kernfs/dir.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c index a387534c9577..ddf537923a0a 100644 --- a/fs/kernfs/dir.c +++ b/fs/kernfs/dir.c @@ -430,7 +430,6 @@ 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); int v; if (unlikely(!kn)) @@ -442,7 +441,7 @@ void kernfs_put_active(struct kernfs_node *kn) if (likely(v != KN_DEACTIVATED_BIAS)) return; - wake_up_all(&root->deactivate_waitq); + wake_up_all(&kernfs_root(kn)->deactivate_waitq); } /** |