diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2009-12-24 02:08:19 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-03-05 09:01:18 -0500 |
commit | c41c14056210e4a328659c82b1edaccb0910d18c (patch) | |
tree | 0ae7f7e9f952feb4577bb1908b063997232171bb /fs/namei.c | |
parent | 27bff34300482632caf52ff589a4e7d755b32539 (diff) |
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 <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/namei.c')
-rw-r--r-- | fs/namei.c | 2 |
1 files changed, 1 insertions, 1 deletions
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 @@ do_link: | |||
1923 | mutex_lock(&dir->d_inode->i_mutex); | 1923 | mutex_lock(&dir->d_inode->i_mutex); |
1924 | path.dentry = lookup_hash(&nd); | 1924 | path.dentry = lookup_hash(&nd); |
1925 | path.mnt = nd.path.mnt; | 1925 | path.mnt = nd.path.mnt; |
1926 | __putname(nd.last.name); | ||
1927 | filp = do_last(&nd, &path, open_flag, flag, acc_mode, mode, | 1926 | filp = do_last(&nd, &path, open_flag, flag, acc_mode, mode, |
1928 | pathname, dir, &is_link); | 1927 | pathname, dir, &is_link); |
1928 | __putname(nd.last.name); | ||
1929 | if (is_link) | 1929 | if (is_link) |
1930 | goto do_link; | 1930 | goto do_link; |
1931 | if (nd.root.mnt) | 1931 | if (nd.root.mnt) |