linux/fs
Christian Brauner 6c960e68aa
fs: port ->create() to pass mnt_idmap
Convert to struct mnt_idmap.

Last cycle we merged the necessary infrastructure in
256c8aed2b ("fs: introduce dedicated idmap type for mounts").
This is just the conversion to struct mnt_idmap.

Currently we still pass around the plain namespace that was attached to a
mount. This is in general pretty convenient but it makes it easy to
conflate namespaces that are relevant on the filesystem with namespaces
that are relevent on the mount level. Especially for non-vfs developers
without detailed knowledge in this area this can be a potential source for
bugs.

Once the conversion to struct mnt_idmap is done all helpers down to the
really low-level helpers will take a struct mnt_idmap argument instead of
two namespace arguments. This way it becomes impossible to conflate the two
eliminating the possibility of any bugs. All of the vfs and all filesystems
only operate on struct mnt_idmap.

Acked-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner (Microsoft) <brauner@kernel.org>
2023-01-19 09:24:25 +01:00
..
9p fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
adfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
affs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
afs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
autofs
befs befs: Convert befs_symlink_read_folio() to use a folio 2022-08-02 12:34:03 -04:00
bfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
btrfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
cachefiles fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
ceph fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
cifs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
coda fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
configfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
cramfs cramfs: read_mapping_page() is synchronous 2022-08-02 12:34:02 -04:00
crypto for-6.2/block-2022-12-08 2022-12-13 10:43:59 -08:00
debugfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
devpts
dlm Treewide: Stop corrupting socket's task_frag 2022-12-19 17:28:49 -08:00
ecryptfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
efivarfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
efs
erofs fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
exfat fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
exportfs exportfs: use pr_debug for unreachable debug statements 2022-11-28 12:54:45 -05:00
ext2 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
ext4 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
f2fs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
fat fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
freevxfs freevxfs: Convert vxfs_immed_read_folio() to use a folio 2022-08-02 12:34:03 -04:00
fscache iov_iter work; most of that is about getting rid of 2022-12-12 18:29:54 -08:00
fuse fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
gfs2 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
hfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
hfsplus fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
hostfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
hpfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
hugetlbfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
iomap New XFS code for 6.2: 2022-12-14 10:11:51 -08:00
isofs - hfs and hfsplus kmap API modernization from Fabio Francesco 2022-10-12 11:00:22 -07:00
jbd2 jbd2: switch jbd2_submit_inode_data() to use fs-provided hook for data writeout 2022-12-08 21:49:25 -05:00
jffs2 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
jfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
kernfs fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
ksmbd fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
lockd NFSD 6.2 Release Notes 2022-12-12 20:54:39 -08:00
minix fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
netfs use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
nfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
nfs_common
nfsd fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
nilfs2 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
nls
notify Merge tag 'fsnotify-for_v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs 2022-10-07 08:28:50 -07:00
ntfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
ntfs3 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
ocfs2 fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
omfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
openpromfs
orangefs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
overlayfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
proc fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
pstore pstore updates for v6.2-rc1-fixes 2022-12-23 11:55:54 -08:00
qnx4
qnx6 fs/qnx6: delete unnecessary checks before brelse() 2022-09-11 21:55:07 -07:00
quota ext4: fix bug_on in __es_tree_search caused by bad quota inode 2022-12-08 21:49:23 -05:00
ramfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
reiserfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
romfs
smbfs_common smb3: define missing create contexts 2022-10-05 01:55:27 -05:00
squashfs fs.idmapped.squashfs.v6.2 2022-12-12 20:24:51 -08:00
sysfs
sysv fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
tracefs tracefs: Only clobber mode/uid/gid on remount if asked 2022-09-08 17:10:54 -04:00
ubifs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
udf fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
ufs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
unicode
vboxsf fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
verity fsverity: simplify fsverity_get_digest() 2022-11-29 21:07:41 -08:00
xfs fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
zonefs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
aio.c use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
anon_inodes.c dynamic_dname(): drop unused dentry argument 2022-08-20 11:34:04 -04:00
attr.c fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
bad_inode.c fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
binfmt_elf_fdpic.c binfmt: Fix error return code in load_elf_fdpic_binary() 2022-12-01 19:15:52 -08:00
binfmt_elf_test.c
binfmt_elf.c Unification of regset and non-regset sides of ELF coredump 2022-12-12 18:18:34 -08:00
binfmt_flat.c
binfmt_misc.c binfmt_misc: fix shift-out-of-bounds in check_special_flags 2022-12-02 13:57:04 -08:00
binfmt_script.c
buffer.c - hfs and hfsplus kmap API modernization from Fabio Francesco 2022-10-12 11:00:22 -07:00
char_dev.c chardev: fix error handling in cdev_device_add() 2022-12-02 17:48:59 +01:00
compat_binfmt_elf.c
coredump.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
d_path.c d_path.c: typo fix... 2022-08-20 11:34:33 -04:00
dax.c fsdax,xfs: port unshare to fsdax 2022-12-11 18:12:17 -08:00
dcache.c tmpfile API change 2022-10-10 19:45:17 -07:00
direct-io.c block: remove PSI accounting from the bio layer 2022-09-20 08:24:38 -06:00
drop_caches.c
eventfd.c eventfd: provide a eventfd_signal_mask() helper 2022-11-22 06:07:55 -07:00
eventpoll.c eventpoll: add EPOLL_URING_WAKE poll wakeup flag 2022-11-21 07:45:29 -07:00
exec.c fs.vfsuid.conversion.v6.2 2022-12-12 19:20:05 -08:00
fcntl.c
fhandle.c do_sys_name_to_handle(): constify path 2022-09-01 17:36:39 -04:00
file_table.c locks: fix TOCTOU race when granting write lease 2022-08-16 10:59:54 -04:00
file.c fs: use acquire ordering in __fget_light() 2022-10-31 15:30:11 -04:00
filesystems.c
fs_context.c
fs_parser.c ext4: journal_path mount options should follow links 2022-12-01 10:46:54 -05:00
fs_pin.c
fs_struct.c
fs_types.c
fs-writeback.c for-6.2/writeback-2022-12-12 2022-12-15 18:09:48 -08:00
fsopen.c
init.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
inode.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
internal.h fs.ovl.setgid.v6.2 2022-12-12 19:03:10 -08:00
ioctl.c
Kconfig hugetlb: make hugetlb depends on SYSFS or SYSCTL 2022-09-11 20:26:10 -07:00
Kconfig.binfmt Xtensa updates for v6.1 2022-10-10 14:21:11 -07:00
kernel_read_file.c
libfs.c fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
locks.c Add process name and pid to locks warning 2022-11-30 05:08:10 -05:00
Makefile a.out: Remove the a.out implementation 2022-09-27 07:11:02 -07:00
mbcache.c ext4: fix deadlock due to mbcache entry corruption 2022-12-08 21:49:25 -05:00
mount.h
mpage.c Folio changes for 6.0 2022-08-03 10:35:43 -07:00
namei.c fs: port ->create() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
namespace.c fs.idmapped.mnt_idmap.v6.2 2022-12-12 19:30:18 -08:00
no-block.c
nsfs.c dynamic_dname(): drop unused dentry argument 2022-08-20 11:34:04 -04:00
open.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
pipe.c dynamic_dname(): drop unused dentry argument 2022-08-20 11:34:04 -04:00
pnode.c pnode: terminate at peers of source 2022-12-21 14:45:25 +01:00
pnode.h
posix_acl.c fs.idmapped.mnt_idmap.v6.2 2022-12-12 19:30:18 -08:00
proc_namespace.c
read_write.c iov_iter work; most of that is about getting rid of 2022-12-12 18:29:54 -08:00
readdir.c Change calling conventions for filldir_t 2022-08-17 17:25:04 -04:00
remap_range.c New VFS code for 6.2: 2022-12-13 10:26:38 -08:00
select.c
seq_file.c use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
signalfd.c
splice.c use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
stack.c
stat.c fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
statfs.c
super.c misc pile 2022-12-12 18:38:47 -08:00
sync.c
sysctls.c
timerfd.c
userfaultfd.c fs/userfaultfd: Fix maple tree iterator in userfaultfd_unregister() 2022-11-07 12:58:26 -08:00
utimes.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
xattr.c fs.xattr.simple.rework.rbtree.rwlock.v6.2 2022-12-13 10:08:36 -08:00