提交 ce6595a2 编写于 作者: A Al Viro

kill the last users of user_{path,lpath,path_dir}()

old wrappers with few callers remaining; put them out of their misery...
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 6b61aed0
......@@ -63,11 +63,8 @@ static long coda_pioctl(struct file *filp, unsigned int cmd,
* Look up the pathname. Note that the pathname is in
* user memory, and namei takes care of this
*/
if (data.follow)
error = user_path(data.path, &path);
else
error = user_lpath(data.path, &path);
error = user_path_at(AT_FDCWD, data.path,
data.follow ? LOOKUP_FOLLOW : 0, &path);
if (error)
return error;
......
......@@ -3044,7 +3044,7 @@ long do_mount(const char *dev_name, const char __user *dir_name,
return -EINVAL;
/* ... and get the mountpoint */
retval = user_path(dir_name, &path);
retval = user_path_at(AT_FDCWD, dir_name, LOOKUP_FOLLOW, &path);
if (retval)
return retval;
......@@ -3591,11 +3591,13 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root,
if (!may_mount())
return -EPERM;
error = user_path_dir(new_root, &new);
error = user_path_at(AT_FDCWD, new_root,
LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &new);
if (error)
goto out0;
error = user_path_dir(put_old, &old);
error = user_path_at(AT_FDCWD, put_old,
LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &old);
if (error)
goto out1;
......
......@@ -67,7 +67,7 @@ xfs_find_handle(
return -EBADF;
inode = file_inode(f.file);
} else {
error = user_lpath((const char __user *)hreq->path, &path);
error = user_path_at(AT_FDCWD, hreq->path, 0, &path);
if (error)
return error;
inode = d_inode(path.dentry);
......
......@@ -48,22 +48,6 @@ static inline int user_path_at(int dfd, const char __user *name, unsigned flags,
return user_path_at_empty(dfd, name, flags, path, NULL);
}
static inline int user_path(const char __user *name, struct path *path)
{
return user_path_at_empty(AT_FDCWD, name, LOOKUP_FOLLOW, path, NULL);
}
static inline int user_lpath(const char __user *name, struct path *path)
{
return user_path_at_empty(AT_FDCWD, name, 0, path, NULL);
}
static inline int user_path_dir(const char __user *name, struct path *path)
{
return user_path_at_empty(AT_FDCWD, name,
LOOKUP_FOLLOW | LOOKUP_DIRECTORY, path, NULL);
}
extern int kern_path(const char *, unsigned, struct path *);
extern struct dentry *kern_path_create(int, const char *, struct path *, unsigned int);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册