From: Al Viro Date: Tue, 3 Mar 2020 15:56:17 +0000 (-0500) Subject: fold path_to_nameidata() into its only remaining caller X-Git-Tag: v5.15~4182^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c99687a03a78775f77d57fe9b07af4c8ec3dd03c;p=platform%2Fkernel%2Flinux-starfive.git fold path_to_nameidata() into its only remaining caller Signed-off-by: Al Viro --- diff --git a/fs/namei.c b/fs/namei.c index aab4eee..0ce515e 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -860,18 +860,6 @@ static int set_root(struct nameidata *nd) return 0; } -static inline void path_to_nameidata(const struct path *path, - struct nameidata *nd) -{ - if (!(nd->flags & LOOKUP_RCU)) { - dput(nd->path.dentry); - if (nd->path.mnt != path->mnt) - mntput(nd->path.mnt); - } - nd->path.mnt = path->mnt; - nd->path.dentry = path->dentry; -} - static int nd_jump_root(struct nameidata *nd) { if (unlikely(nd->flags & LOOKUP_BENEATH)) @@ -1705,7 +1693,12 @@ static const char *step_into(struct nameidata *nd, int flags, ((flags & WALK_TRAILING) && !(nd->flags & LOOKUP_FOLLOW)) || (flags & WALK_NOFOLLOW)) { /* not a symlink or should not follow */ - path_to_nameidata(&path, nd); + if (!(nd->flags & LOOKUP_RCU)) { + dput(nd->path.dentry); + if (nd->path.mnt != path.mnt) + mntput(nd->path.mnt); + } + nd->path = path; nd->inode = inode; nd->seq = seq; return NULL;