Skip to content

Commit 904f58b

Browse files
author
Al Viro
committed
namei.c: switch user pathname imports to CLASS(filename{,_flags})
filename_flags is used by user_path_at(). I suspect that mixing LOOKUP_EMPTY with real lookup flags had been a mistake all along; the former belongs to pathname import, the latter - to pathwalk. Right now none of the remaining in-tree callers of user_path_at() are getting LOOKUP_EMPTY in flags, so user_path_at() could probably be switched to CLASS(filename)... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
1 parent e9817d5 commit 904f58b

1 file changed

Lines changed: 6 additions & 15 deletions

File tree

fs/namei.c

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3031,11 +3031,8 @@ struct dentry *start_removing_user_path_at(int dfd,
30313031
const char __user *name,
30323032
struct path *path)
30333033
{
3034-
struct filename *filename = getname(name);
3035-
struct dentry *res = __start_removing_path(dfd, filename, path);
3036-
3037-
putname(filename);
3038-
return res;
3034+
CLASS(filename, filename)(name);
3035+
return __start_removing_path(dfd, filename, path);
30393036
}
30403037
EXPORT_SYMBOL(start_removing_user_path_at);
30413038

@@ -3613,11 +3610,8 @@ int path_pts(struct path *path)
36133610
int user_path_at(int dfd, const char __user *name, unsigned flags,
36143611
struct path *path)
36153612
{
3616-
struct filename *filename = getname_flags(name, flags);
3617-
int ret = filename_lookup(dfd, filename, flags, path, NULL);
3618-
3619-
putname(filename);
3620-
return ret;
3613+
CLASS(filename_flags, filename)(name, flags);
3614+
return filename_lookup(dfd, filename, flags, path, NULL);
36213615
}
36223616
EXPORT_SYMBOL(user_path_at);
36233617

@@ -4976,11 +4970,8 @@ inline struct dentry *start_creating_user_path(
49764970
int dfd, const char __user *pathname,
49774971
struct path *path, unsigned int lookup_flags)
49784972
{
4979-
struct filename *filename = getname(pathname);
4980-
struct dentry *res = filename_create(dfd, filename, path, lookup_flags);
4981-
4982-
putname(filename);
4983-
return res;
4973+
CLASS(filename, filename)(pathname);
4974+
return filename_create(dfd, filename, path, lookup_flags);
49844975
}
49854976
EXPORT_SYMBOL(start_creating_user_path);
49864977

0 commit comments

Comments
 (0)