Hi all,
After merging the vfs-brauner tree, today's linux-next build (x86_64
allmodconfig) failed like this:
/tmp/next/build/fs/smb/server/vfs.c:1255:30: error: too many arguments to function call, expected 5, have 6
1254 | err = vfs_path_parent_lookup(filename, flags | LOOKUP_BENEATH,
| ~~~~~~~~~~~~~~~~~~~~~~
1255 | path, &last, &type, &share_conf->vfs_path);
| ^~~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/namei.h:63:5: note: 'vfs_path_parent_lookup' declared here
63 | int vfs_path_parent_lookup(struct filename *filename, unsigned int flags,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | struct path *parent, struct qstr *last,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | const struct path *root);
| ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Caused by commit
f2f1dddccae50f (vfs: make LAST_XXX private to fs/namei.c)
interacting with commit
9b012f13c6b671 (ksmbd: fix path resolution in ksmbd_vfs_kern_path_create)
from the ksmbd tree. I have fixed this up as below and can carry as
needed:
diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c
index da0dbf2209d28b..7e4fffc88dbd75 100644
--- a/fs/smb/server/vfs.c
+++ b/fs/smb/server/vfs.c
@@ -1246,13 +1246,13 @@ struct dentry *ksmbd_vfs_kern_path_create(struct ksmbd_work *work,
struct ksmbd_share_config *share_conf = work->tcon->share_conf;
struct qstr last;
struct dentry *dent;
- int type, err;
+ int err;
/* resolve the name beneath the share root so ".." cannot escape */
CLASS(filename_kernel, filename)(name);
err = vfs_path_parent_lookup(filename, flags | LOOKUP_BENEATH,
- path, &last, &type, &share_conf->vfs_path);
+ path, &last, &share_conf->vfs_path);
if (err)
return ERR_PTR(err);
© 2016 - 2026 Red Hat, Inc.