On 9/1/2026 5:14 AM, Christian Brauner wrote:
> Convert to const struct mnt_idmap.
>
> A mount's idmapping is immutable. The only thing that is allowed to be
> modified afterwards is the reference count and that is hidden behind
> mnt_idmap_get() and mnt_idmap_put(). Everything else only ever reads
> from the idmapping. This is the same model that struct cred uses and the
> idmapping is also rather sensitive.
>
> So make the idmap argument const wherever we can. The conversion is done
> from the bottom up so callers can continue to pass a non-const pointer
> to a const parameter until the conversion is finished.
>
> No functional changes.
>
> Signed-off-by: Christian Brauner (Amutable) <[email protected]>
> ---
> Documentation/filesystems/locking.rst | 2 +-
> Documentation/filesystems/vfs.rst | 2 +-
> arch/powerpc/platforms/cell/spufs/inode.c | 2 +-
> fs/9p/v9fs_vfs.h | 2 +-
> fs/9p/vfs_inode.c | 2 +-
> fs/9p/vfs_inode_dotl.c | 2 +-
> fs/adfs/adfs.h | 2 +-
> fs/adfs/inode.c | 2 +-
> fs/affs/affs.h | 2 +-
> fs/affs/inode.c | 2 +-
> fs/afs/inode.c | 2 +-
> fs/afs/internal.h | 2 +-
> fs/anon_inodes.c | 2 +-
> fs/attr.c | 2 +-
> fs/bad_inode.c | 2 +-
> fs/btrfs/inode.c | 2 +-
> fs/ceph/inode.c | 2 +-
> fs/ceph/super.h | 2 +-
> fs/coda/coda_linux.h | 2 +-
> fs/coda/inode.c | 2 +-
> fs/configfs/configfs_internal.h | 2 +-
> fs/configfs/inode.c | 2 +-
> fs/debugfs/inode.c | 2 +-
> fs/ecryptfs/inode.c | 2 +-
> fs/efivarfs/inode.c | 2 +-
> fs/exfat/exfat_fs.h | 2 +-
> fs/exfat/file.c | 2 +-
> fs/ext2/ext2.h | 2 +-
> fs/ext2/inode.c | 2 +-
> fs/ext4/ext4.h | 2 +-
> fs/ext4/inode.c | 2 +-
> fs/f2fs/f2fs.h | 2 +-
> fs/f2fs/file.c | 2 +-
> fs/fat/fat.h | 2 +-
> fs/fat/file.c | 2 +-
> fs/fuse/dir.c | 2 +-
> fs/gfs2/inode.c | 2 +-
> fs/hfs/hfs_fs.h | 2 +-
> fs/hfs/inode.c | 2 +-
> fs/hfsplus/inode.c | 2 +-
> fs/hostfs/hostfs_kern.c | 2 +-
> fs/hpfs/hpfs_fn.h | 2 +-
> fs/hpfs/inode.c | 2 +-
> fs/hugetlbfs/inode.c | 2 +-
> fs/inode.c | 2 +-
> fs/internal.h | 2 +-
> fs/jffs2/fs.c | 2 +-
> fs/jffs2/os-linux.h | 2 +-
> fs/jfs/file.c | 2 +-
> fs/jfs/jfs_inode.h | 2 +-
> fs/kernfs/inode.c | 2 +-
> fs/kernfs/kernfs-internal.h | 2 +-
> fs/libfs.c | 4 ++--
> fs/minix/file.c | 2 +-
> fs/nfs/inode.c | 2 +-
> fs/nfs/namespace.c | 2 +-
> fs/nilfs2/inode.c | 2 +-
> fs/nilfs2/nilfs.h | 2 +-
> fs/ntfs/file.c | 2 +-
> fs/ntfs/inode.h | 2 +-
> fs/ntfs3/file.c | 2 +-
> fs/ntfs3/ntfs_fs.h | 2 +-
> fs/ocfs2/dlmfs/dlmfs.c | 2 +-
> fs/ocfs2/file.c | 2 +-
> fs/ocfs2/file.h | 2 +-
> fs/omfs/file.c | 2 +-
> fs/orangefs/inode.c | 2 +-
> fs/orangefs/orangefs-kernel.h | 2 +-
> fs/overlayfs/inode.c | 2 +-
> fs/overlayfs/overlayfs.h | 2 +-
> fs/pidfs.c | 2 +-
> fs/proc/base.c | 2 +-
> fs/proc/generic.c | 2 +-
> fs/proc/internal.h | 2 +-
> fs/proc/proc_sysctl.c | 2 +-
> fs/ramfs/file-nommu.c | 4 ++--
> fs/smb/client/cifsfs.h | 2 +-
> fs/smb/client/inode.c | 2 +-
> fs/tracefs/event_inode.c | 2 +-
> fs/tracefs/inode.c | 2 +-
> fs/ubifs/file.c | 2 +-
> fs/ubifs/ubifs.h | 2 +-
> fs/udf/file.c | 2 +-
> fs/ufs/inode.c | 2 +-
> fs/ufs/ufs.h | 2 +-
> fs/vboxsf/utils.c | 2 +-
> fs/vboxsf/vfsmod.h | 2 +-
> fs/xfs/xfs_iops.c | 2 +-
> fs/zonefs/super.c | 2 +-
> include/linux/fs.h | 6 +++---
> include/linux/lsm_hook_defs.h | 4 ++--
> include/linux/nfs_fs.h | 2 +-
> include/linux/security.h | 8 ++++----
> mm/secretmem.c | 2 +-
> mm/shmem.c | 2 +-
> net/socket.c | 2 +-
> security/integrity/evm/evm_main.c | 4 ++--
> security/integrity/ima/ima_appraise.c | 2 +-
> security/security.c | 4 ++--
> security/selinux/hooks.c | 2 +-
> security/smack/smack_lsm.c | 2 +-
> virt/kvm/guest_memfd.c | 2 +-
> 102 files changed, 112 insertions(+), 112 deletions(-)
...
> diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
> index df4fc6ff26aa..bb78569b3d5b 100644
> --- a/security/smack/smack_lsm.c
> +++ b/security/smack/smack_lsm.c
> @@ -1270,7 +1270,7 @@ static int smack_inode_permission(struct inode *inode,
> int mask)
> *
> * Returns 0 if access is permitted, an error code otherwise
> */
> -static int smack_inode_setattr(struct mnt_idmap *idmap, struct dentry
> *dentry,
> +static int smack_inode_setattr(const struct mnt_idmap *idmap, struct dentry
> *dentry,
> struct iattr *iattr)
Please keep to 80 columns.
+static int smack_inode_setattr(const struct mnt_idmap *idmap,
+ struct dentry *dentry, struct iattr *iattr)
Note that the above may get whitespace mangled.
> {
> struct smk_audit_info ad;
>