Commit 21fef217 authored by Al Viro's avatar Al Viro
Browse files

namei: move the calls of may_follow_link() into follow_link()



All remaining callers of the former are preceded by the latter

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 172a39a0
Loading
Loading
Loading
Loading
+6 −15
Original line number Diff line number Diff line
@@ -882,9 +882,12 @@ out:

static int follow_link(struct path *link, struct nameidata *nd, void **p)
{
	const char *s = get_link(link, nd, p);
	int error;

	const char *s;
	int error = may_follow_link(link, nd);
	if (unlikely(error))
		return error;
	nd->flags |= LOOKUP_PARENT;
	s = get_link(link, nd, p);
	if (unlikely(IS_ERR(s)))
		return PTR_ERR(s);
	if (unlikely(!s))
@@ -2002,10 +2005,6 @@ static int path_lookupat(int dfd, const struct filename *name,
		while (err > 0) {
			void *cookie;
			struct path link = nd->link;
			err = may_follow_link(&link, nd);
			if (unlikely(err))
				break;
			nd->flags |= LOOKUP_PARENT;
			err = follow_link(&link, nd, &cookie);
			if (err)
				break;
@@ -2352,10 +2351,6 @@ path_mountpoint(int dfd, const struct filename *name, struct path *path,
	while (err > 0) {
		void *cookie;
		struct path link = *path;
		err = may_follow_link(&link, nd);
		if (unlikely(err))
			break;
		nd->flags |= LOOKUP_PARENT;
		err = follow_link(&link, nd, &cookie);
		if (err)
			break;
@@ -3239,10 +3234,6 @@ static struct file *path_openat(int dfd, struct filename *pathname,
	while (unlikely(error > 0)) { /* trailing symlink */
		struct path link = nd->link;
		void *cookie;
		error = may_follow_link(&link, nd);
		if (unlikely(error))
			break;
		nd->flags |= LOOKUP_PARENT;
		nd->flags &= ~(LOOKUP_OPEN|LOOKUP_CREATE|LOOKUP_EXCL);
		error = follow_link(&link, nd, &cookie);
		if (unlikely(error))