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 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 --- 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