From c41c14056210e4a328659c82b1edaccb0910d18c Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 24 Dec 2009 02:08:19 -0500 Subject: [PATCH] postpone __putname() until after do_last() Since do_last() doesn't mangle nd->last_name, we can safely postpone __putname() done in handling of trailing symlinks until after the call of do_last() Signed-off-by: Al Viro --- fs/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/namei.c b/fs/namei.c index fc6bed7215c9..30ba3f3a25e2 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -1923,9 +1923,9 @@ struct file *do_filp_open(int dfd, const char *pathname, mutex_lock(&dir->d_inode->i_mutex); path.dentry = lookup_hash(&nd); path.mnt = nd.path.mnt; - __putname(nd.last.name); filp = do_last(&nd, &path, open_flag, flag, acc_mode, mode, pathname, dir, &is_link); + __putname(nd.last.name); if (is_link) goto do_link; if (nd.root.mnt)