linux/fs
Christian Brauner 4609e1f18e
fs: port ->permission() 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:28 +01:00
..
9p fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
adfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
affs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
afs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
autofs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
befs
bfs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
btrfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
cachefiles fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ceph fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
cifs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
coda fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
configfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
cramfs
crypto for-6.2/block-2022-12-08 2022-12-13 10:43:59 -08:00
debugfs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
devpts
dlm Treewide: Stop corrupting socket's task_frag 2022-12-19 17:28:49 -08:00
ecryptfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
efivarfs fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
efs
erofs fs: port ->getattr() to pass mnt_idmap 2023-01-19 09:24:25 +01:00
exfat fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
exportfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ext2 fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
ext4 fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
f2fs fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
fat fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
freevxfs
fscache iov_iter work; most of that is about getting rid of 2022-12-12 18:29:54 -08:00
fuse fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
gfs2 fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
hfs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
hfsplus fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
hostfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
hpfs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
hugetlbfs fs: port ->tmpfile() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
iomap New XFS code for 6.2: 2022-12-14 10:11:51 -08:00
isofs
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 ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
jfs fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
kernfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ksmbd fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
lockd NFSD 6.2 Release Notes 2022-12-12 20:54:39 -08:00
minix fs: port ->tmpfile() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
netfs use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
nfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
nfs_common
nfsd fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
nilfs2 fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
nls
notify
ntfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
ntfs3 fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ocfs2 fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
omfs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
openpromfs
orangefs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
overlayfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
proc fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
pstore pstore updates for v6.2-rc1-fixes 2022-12-23 11:55:54 -08:00
qnx4
qnx6
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 ->tmpfile() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
reiserfs fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
romfs
smbfs_common
squashfs fs.idmapped.squashfs.v6.2 2022-12-12 20:24:51 -08:00
sysfs
sysv fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
tracefs fs: port ->mkdir() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
ubifs fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
udf fs: port ->tmpfile() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
ufs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
unicode
vboxsf fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
verity fsverity: simplify fsverity_get_digest() 2022-11-29 21:07:41 -08:00
xfs fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +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
attr.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
bad_inode.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +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
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
dax.c fsdax,xfs: port unshare to fsdax 2022-12-11 18:12:17 -08:00
dcache.c
direct-io.c
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: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
fcntl.c
fhandle.c
file_table.c
file.c
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 ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
inode.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
internal.h fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ioctl.c fs: port ->fileattr_set() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
Kconfig
Kconfig.binfmt
kernel_read_file.c
libfs.c fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
locks.c Add process name and pid to locks warning 2022-11-30 05:08:10 -05:00
Makefile
mbcache.c ext4: fix deadlock due to mbcache entry corruption 2022-12-08 21:49:25 -05:00
mount.h
mpage.c
namei.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
namespace.c fs.idmapped.mnt_idmap.v6.2 2022-12-12 19:30:18 -08:00
no-block.c
nsfs.c
open.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
pipe.c
pnode.c pnode: terminate at peers of source 2022-12-21 14:45:25 +01:00
pnode.h
posix_acl.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01: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
remap_range.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01: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
utimes.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
xattr.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00