aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/namei.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/namei.c b/fs/namei.c
index bb4a3e40e432..c784e8bb57a3 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -2243,14 +2243,16 @@ asmlinkage long sys_linkat(int olddfd, const char __user *oldname,
2243 int error; 2243 int error;
2244 char * to; 2244 char * to;
2245 2245
2246 if (flags != 0) 2246 if ((flags & ~AT_SYMLINK_FOLLOW) != 0)
2247 return -EINVAL; 2247 return -EINVAL;
2248 2248
2249 to = getname(newname); 2249 to = getname(newname);
2250 if (IS_ERR(to)) 2250 if (IS_ERR(to))
2251 return PTR_ERR(to); 2251 return PTR_ERR(to);
2252 2252
2253 error = __user_walk_fd(olddfd, oldname, 0, &old_nd); 2253 error = __user_walk_fd(olddfd, oldname,
2254 flags & AT_SYMLINK_FOLLOW ? LOOKUP_FOLLOW : 0,
2255 &old_nd);
2254 if (error) 2256 if (error)
2255 goto exit; 2257 goto exit;
2256 error = do_path_lookup(newdfd, to, LOOKUP_PARENT, &nd); 2258 error = do_path_lookup(newdfd, to, LOOKUP_PARENT, &nd);