Re: [PATCH 24/27] fs: port ->setattr() to pass const mnt_idmap
From: Paul Moore
Date: Wed Sep 02 2026 - 15:40:26 EST
On Sep 1, 2026 Christian Brauner <brauner@xxxxxxxxxx> 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) <brauner@xxxxxxxxxx>
> Reviewed-by: Jan Kara <jack@xxxxxxx>
> ---
> 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(-)
Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> (LSM, SELinux)
--
paul-moore.com