summaryrefslogtreecommitdiffstats
path: root/fs/kernfs/dir.c
diff options
context:
space:
mode:
authorPeng Wang <rocking@whu.edu.cn>2019-07-08 23:16:11 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-25 15:30:48 +0200
commit2fd60da46da76948b8cc561ae8cc902209686253 (patch)
tree210588885a1e314349fca90aea6cfa5d3f11b3ef /fs/kernfs/dir.c
parent515db266a9dace92b0cbaed9a6044dd5304b8ca9 (diff)
downloadlinux-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.c3
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);
}
/**