]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
don't bugger nd->seq on set_root_rcu() from follow_dotdot_rcu()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 14 Sep 2014 01:55:46 +0000 (21:55 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 5 Oct 2014 20:41:08 +0000 (13:41 -0700)
commit8ed0282d408cc61c469acae6fc89499db7ed8bd2
tree3cf28bc1a5837ec13a8a12ed6d4a30f878c3b5c2
parentf60133a908dcd92e2a3d8ff1bdd538c4ea049fbf
don't bugger nd->seq on set_root_rcu() from follow_dotdot_rcu()

commit 7bd88377d482e1eae3c5329b12e33cfd664fa6a9 upstream.

return the value instead, and have path_init() do the assignment.  Broken by
"vfs: Fix absolute RCU path walk failures due to uninitialized seq number",
which was Cc-stable with 2.6.38+ as destination.  This one should go where
it went.

To avoid dummy value returned in case when root is already set (it would do
no harm, actually, since the only caller that doesn't ignore the return value
is guaranteed to have nd->root *not* set, but it's more obvious that way),
lift the check into callers.  And do the same to set_root(), to keep them
in sync.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/namei.c