]> git.baikalelectronics.ru Git - kernel.git/commit
unfuck sysfs_mount()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 14 May 2018 04:03:34 +0000 (00:03 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 21 May 2018 18:30:09 +0000 (14:30 -0400)
commit352756421e40585399cac7fa56822495be0e8045
treec5fd8a796d75053bccf60ee4376b4872d10e7918
parent99c0e914a8bf95d824825b7c9e167875e445b0cb
unfuck sysfs_mount()

new_sb is left uninitialized in case of early failures in kernfs_mount_ns(),
and while IS_ERR(root) is true in all such cases, using IS_ERR(root) || !new_sb
is not a solution - IS_ERR(root) is true in some cases when new_sb is true.

Make sure new_sb is initialized (and matches the reality) in all cases and
fix the condition for dropping kobj reference - we want it done precisely
in those situations where the reference has not been transferred into a new
super_block instance.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/sysfs/mount.c