fix bogus path_put() of nd->root after some unlazy_walk() failures
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 Nov 2013 06:48:32 +0000 (01:48 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 Nov 2013 06:50:51 +0000 (01:50 -0500)
commitd870b4a191a389c661cd40aacb06981c26b5e504
tree1518f3a778b105f737b3ba8453ec557ac8234f6d
parent2e7babfa892a55588467ef03b545002e32f31528
fix bogus path_put() of nd->root after some unlazy_walk() failures

Failure to grab reference to parent dentry should go through the
same cleanup as nd->seq mismatch.  As it is, we might end up with
caller thinking it needs to path_put() nd->root, with obvious
nasty results once we'd hit that bug enough times to drive the
refcount of root dentry all the way to zero...

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