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

From: Mark Brown

Date: Mon Oct 12 2026 - 09:51:00 EST


Hi all,

After merging the vfs-brauner tree, today's linux-next build (x86_64
allmodconfig) failed like this:

/tmp/next/build/fs/smb/client/cifsfs.c:1258:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1258 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/fs/smb/client/cifsfs.c:1270:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1270 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
2 errors generated.
make[6]: *** [/tmp/next/build/scripts/Makefile.build:290: fs/smb/client/cifsfs.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [/tmp/next/build/scripts/Makefile.build:551: fs/smb/client] Error 2
make[5]: *** Waiting for unfinished jobs....
/tmp/next/build/fs/ntfs/namei.c:793:40: error: passing 'const struct mnt_idmap *' to parameter of type 'struct mnt_idmap *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
793 | stream_vi = ntfs_create_named_stream(idmap, dir, base_name,
| ^~~~~
/tmp/next/build/fs/ntfs/stream.h:35:58: note: passing argument to parameter 'idmap' here
35 | struct inode *ntfs_create_named_stream(struct mnt_idmap *idmap,
| ^
1 error generated.


Caused by the constification series for mnt_idmap interacting with:

2de2cdd9cc08f (ntfs: add pathname access for named streams)
121e0c35720b2 (smb: client: implement fileattr_set for compression flags)

from the cifs and ntfs trees. I have applied the fixup below and can
carry as needed.

From 6b75090639b332f5fa52a558edbba295d8bb42fc Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@xxxxxxxxxx>
Date: Mon, 12 Oct 2026 13:55:24 +0100
Subject: [PATCH] cifs: Fix semantic conflict with const mnt_idmap

/tmp/next/build/fs/smb/client/cifsfs.c:1258:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1258 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
/tmp/next/build/fs/smb/client/cifsfs.c:1270:18: error: incompatible function pointer types initializing 'int (*)(const struct mnt_idmap *, struct dentry *, struct file_kattr *)' with an expression of type 'int (struct mnt_idmap *, struct dentry *, struct file_kattr *)' [-Wincompatible-function-pointer-types]
1270 | .fileattr_set = cifs_fileattr_set,
| ^~~~~~~~~~~~~~~~~
2 errors generated.

Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
fs/ntfs/named_stream.c | 6 +++---
fs/ntfs/stream.h | 2 +-
fs/smb/client/cifsfs.h | 2 +-
fs/smb/client/ioctl.c | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/ntfs/named_stream.c b/fs/ntfs/named_stream.c
index d74bebf90966b..95a3c05f98211 100644
--- a/fs/ntfs/named_stream.c
+++ b/fs/ntfs/named_stream.c
@@ -553,7 +553,7 @@ int ntfs_stream_path_names(struct ntfs_volume *vol,
*
* Return: Referenced stream inode on success, or ERR_PTR() on failure.
*/
-struct inode *ntfs_create_named_stream(struct mnt_idmap *idmap,
+struct inode *ntfs_create_named_stream(const struct mnt_idmap *idmap,
struct inode *dir, __le16 *base_name, int base_len,
__le16 *stream_name, int stream_len)
{
@@ -988,13 +988,13 @@ static ssize_t ntfs_stream_listxattr(struct dentry *dentry, char *buffer,
}

#ifdef CONFIG_NTFS_FS_POSIX_ACL
-static struct posix_acl *ntfs_stream_get_acl(struct mnt_idmap *idmap,
+static struct posix_acl *ntfs_stream_get_acl(const struct mnt_idmap *idmap,
struct dentry *dentry, int type)
{
return ERR_PTR(-EOPNOTSUPP);
}

-static int ntfs_stream_set_acl(struct mnt_idmap *idmap,
+static int ntfs_stream_set_acl(const struct mnt_idmap *idmap,
struct dentry *dentry, struct posix_acl *acl, int type)
{
return -EOPNOTSUPP;
diff --git a/fs/ntfs/stream.h b/fs/ntfs/stream.h
index 5cbf6e8f6b681..76b6c9cca5cc0 100644
--- a/fs/ntfs/stream.h
+++ b/fs/ntfs/stream.h
@@ -32,7 +32,7 @@ struct inode *ntfs_stream_lookup_inode_by_name(struct inode *dir,
__le16 *name, int name_len);
struct dentry *ntfs_lookup_stream(struct inode *dir, struct dentry *dentry,
const struct ntfs_stream_path *path);
-struct inode *ntfs_create_named_stream(struct mnt_idmap *idmap,
+struct inode *ntfs_create_named_stream(const struct mnt_idmap *idmap,
struct inode *dir, __le16 *base_name, int base_len,
__le16 *stream_name, int stream_len);
int ntfs_unlink_named_stream(struct inode *dir, struct dentry *dentry);
diff --git a/fs/smb/client/cifsfs.h b/fs/smb/client/cifsfs.h
index 7600467babb67..e54d3798eb2f7 100644
--- a/fs/smb/client/cifsfs.h
+++ b/fs/smb/client/cifsfs.h
@@ -91,7 +91,7 @@ extern const struct inode_operations cifs_namespace_inode_operations;

struct file_kattr;
int cifs_fileattr_get(struct dentry *dentry, struct file_kattr *fa);
-int cifs_fileattr_set(struct mnt_idmap *idmap, struct dentry *dentry,
+int cifs_fileattr_set(const struct mnt_idmap *idmap, struct dentry *dentry,
struct file_kattr *fa);


diff --git a/fs/smb/client/ioctl.c b/fs/smb/client/ioctl.c
index af4664f5b1202..bb8808289a468 100644
--- a/fs/smb/client/ioctl.c
+++ b/fs/smb/client/ioctl.c
@@ -181,7 +181,7 @@ static int cifs_set_compression(unsigned int xid, struct dentry *dentry,
compression_state);
}

-int cifs_fileattr_set(struct mnt_idmap *idmap, struct dentry *dentry,
+int cifs_fileattr_set(const struct mnt_idmap *idmap, struct dentry *dentry,
struct file_kattr *fa)
{
struct cifs_sb_info *cifs_sb = CIFS_SB(dentry);
--
2.47.3

Attachment: signature.asc
Description: PGP signature