On Tue, Dec 28, 2021 at 10:41:41AM -0800, Stefan Roesch wrote: > This splits off a do_user_path_at_empty function from the > user_path_at_empty_function. This is required so it can be > called from io_uring. > > Signed-off-by: Stefan Roesch <shr@xxxxxx> > Acked-by: Christian Brauner <christian.brauner@xxxxxxxxxx> > --- > fs/namei.c | 10 ++++++++-- > include/linux/namei.h | 2 ++ > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/fs/namei.c b/fs/namei.c > index 1f9d2187c765..d988e241b32c 100644 > --- a/fs/namei.c > +++ b/fs/namei.c > @@ -2794,12 +2794,18 @@ int path_pts(struct path *path) > } > #endif > > +int do_user_path_at_empty(int dfd, struct filename *filename, unsigned int flags, > + struct path *path) > +{ > + return filename_lookup(dfd, filename, flags, path, NULL); > +} > + > int user_path_at_empty(int dfd, const char __user *name, unsigned flags, > - struct path *path, int *empty) > + struct path *path, int *empty) > { > struct filename *filename = getname_flags(name, flags, empty); > - int ret = filename_lookup(dfd, filename, flags, path, NULL); > > + int ret = do_user_path_at_empty(dfd, filename, flags, path); > putname(filename); > return ret; > } > diff --git a/include/linux/namei.h b/include/linux/namei.h > index e89329bb3134..8f3ef38c057b 100644 > --- a/include/linux/namei.h > +++ b/include/linux/namei.h > @@ -49,6 +49,8 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT}; > > extern int path_pts(struct path *path); > > +extern int do_user_path_at_empty(int dfd, struct filename *filename, > + unsigned int flags, struct path *path); Sorry, just seeing this now but this wants to live in internal.h not in namei.h similar to all the other io_uring specific exports we added over the last releases. There's no need to make this a kernel-wide thing if we can avoid it, imho. With that changed: Acked-by: Christian Brauner <christian.brauner@xxxxxxxxxx>