]> Pileus Git - ~andy/linux/blobdiff - fs/sysfs/mount.c
sysfs: fix use-after-free in sysfs_kill_sb()
[~andy/linux] / fs / sysfs / mount.c
index e7e3aa8e7b78663561738347b1ff78572cb3f6a1..8d075272cacef581becde86fc6ede6d05829355a 100644 (file)
@@ -45,8 +45,10 @@ static struct dentry *sysfs_mount(struct file_system_type *fs_type,
 
 static void sysfs_kill_sb(struct super_block *sb)
 {
+       void *ns = (void *)kernfs_super_ns(sb);
+
        kernfs_kill_sb(sb);
-       kobj_ns_drop(KOBJ_NS_TYPE_NET, (void *)kernfs_super_ns(sb));
+       kobj_ns_drop(KOBJ_NS_TYPE_NET, ns);
 }
 
 static struct file_system_type sysfs_fs_type = {