Skip to content

Commit

Permalink
clean up the failure exits after __do_follow_link() in do_filp_open()
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 Mar 14, 2011
1 parent 36f3b4f commit f1afe9e
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions fs/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -2426,15 +2426,12 @@ struct file *do_filp_open(int dfd, const char *pathname,
nd.flags |= LOOKUP_PARENT;
error = __do_follow_link(&link, &nd, &cookie);
if (unlikely(error)) {
if (!IS_ERR(cookie) && linki->i_op->put_link)
linki->i_op->put_link(link.dentry, &nd, cookie);
/* nd.path had been dropped */
nd.path = link;
goto out_path;
filp = ERR_PTR(error);
} else {
nd.flags &= ~LOOKUP_PARENT;
filp = do_last(&nd, &path, open_flag, acc_mode, mode, pathname);
}
nd.flags &= ~LOOKUP_PARENT;
filp = do_last(&nd, &path, open_flag, acc_mode, mode, pathname);
if (linki->i_op->put_link)
if (!IS_ERR(cookie) && linki->i_op->put_link)
linki->i_op->put_link(link.dentry, &nd, cookie);
path_put(&link);
}
Expand Down

0 comments on commit f1afe9e

Please sign in to comment.