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]>
---
 fs/btrfs/ioctl.c   | 2 +-
 fs/ext4/ioctl.c    | 2 +-
 fs/inode.c         | 2 +-
 include/linux/fs.h | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 72bc9d4f7708..b34c6a8247e4 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -3886,7 +3886,7 @@ static long btrfs_ioctl_quota_rescan_wait(struct 
btrfs_fs_info *fs_info)
 }
 
 static long _btrfs_ioctl_set_received_subvol(struct file *file,
-                                           struct mnt_idmap *idmap,
+                                           const struct mnt_idmap *idmap,
                                            struct 
btrfs_ioctl_received_subvol_args *sa)
 {
        struct inode *inode = file_inode(file);
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index c8387e6a2c6e..6de77da4203c 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -373,7 +373,7 @@ void ext4_reset_inode_seed(struct inode *inode)
  *
  */
 static long swap_inode_boot_loader(struct super_block *sb,
-                               struct mnt_idmap *idmap,
+                               const struct mnt_idmap *idmap,
                                struct inode *inode)
 {
        handle_t *handle;
diff --git a/fs/inode.c b/fs/inode.c
index 72a8bbe38d62..4313e9735c5c 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -2746,7 +2746,7 @@ EXPORT_SYMBOL(inode_init_owner);
  * On non-idmapped mounts or if permission checking is to be performed on the
  * raw inode simply pass @nop_mnt_idmap.
  */
-bool inode_owner_or_capable(struct mnt_idmap *idmap,
+bool inode_owner_or_capable(const struct mnt_idmap *idmap,
                            const struct inode *inode)
 {
        vfsuid_t vfsuid;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 7c82d7aaa775..e2babddf755d 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1755,7 +1755,7 @@ static inline bool file_write_not_started(const struct 
file *file)
        return sb_write_not_started(file_inode(file)->i_sb);
 }
 
-bool inode_owner_or_capable(struct mnt_idmap *idmap,
+bool inode_owner_or_capable(const struct mnt_idmap *idmap,
                            const struct inode *inode);
 
 /*

-- 
2.53.0


Reply via email to