Skip to content

Commit

Permalink
lift path_put(path) to callers of __do_follow_link()
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Dec 16, 2009
1 parent d231412 commit 258fa99
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions fs/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -644,8 +644,6 @@ static __always_inline int __do_follow_link(struct path *path, struct nameidata
if (dentry->d_inode->i_op->put_link)
dentry->d_inode->i_op->put_link(dentry, nd, cookie);
}
path_put(path);

return error;
}

Expand All @@ -672,6 +670,7 @@ static inline int do_follow_link(struct path *path, struct nameidata *nd)
current->total_link_count++;
nd->depth++;
err = __do_follow_link(path, nd);
path_put(path);
current->link_count--;
nd->depth--;
return err;
Expand Down Expand Up @@ -1864,6 +1863,7 @@ struct file *do_filp_open(int dfd, const char *pathname,
if (error)
goto exit_dput;
error = __do_follow_link(&path, &nd);
path_put(&path);
if (error) {
/* Does someone understand code flow here? Or it is only
* me so stupid? Anathema to whoever designed this non-sense
Expand Down

0 comments on commit 258fa99

Please sign in to comment.