On 12/29/21 6:31 AM, Christian Brauner wrote: > 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> I moved the declaration to fs/internal.h. >