linux-next: build failure after merge of the vfs-brauner tree

Mark Brown posted 1 patch 4 days, 13 hours ago
linux-next: build failure after merge of the vfs-brauner tree
Posted by Mark Brown 4 days, 13 hours ago
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);