vfs: Fix vfsmount_lock imbalance in path_init()
authorBen Hutchings <ben@decadent.org.uk>
Mon, 16 Feb 2015 03:21:17 +0000 (03:21 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 20 Feb 2015 00:49:41 +0000 (00:49 +0000)
commitd8c8133eb0460a183e69cf8a5d722688916960de
tree7bf7fc98930c8db83b060f9ace0bf2c700d7a5b1
parent5fa7469e951f1ac4d193b1f5b457da1aa232c98a
vfs: Fix vfsmount_lock imbalance in path_init()

When backporting commit 4023bfc9f351 ("be careful with nd->inode in
path_init() and follow_dotdot_rcu()"), I failed to account for the
vfsmount_lock that is used in 3.2 but not upstream.  path_init() takes
the lock if performing RCU lookup, but must drop it if (and only if)
it subsequently fails.

Reported-by: nuxi@vault24.org
References: https://bugzilla.kernel.org/show_bug.cgi?id=92531
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Tested-by: nuxi@vault24.org
fs/namei.c