Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1afe9ef authored by Al Viro's avatar Al Viro
Browse files

clean up the failure exits after __do_follow_link() in do_filp_open()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 36f3b4f6
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -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);
		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);
	}