linux/fs
Christian Brauner 9452e93e6d
fs: port privilege checking helpers to 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:29 +01:00
..
9p fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +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 xattr to 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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
btrfs fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
cachefiles fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ceph fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
cifs fs: port xattr to 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 fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01: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 xattr to 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 inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00
ext4 fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00
f2fs fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +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 privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
gfs2 fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
hfs fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
hfsplus fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +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 acl to mnt_idmap 2023-01-19 09:24:28 +01:00
jfs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
kernfs fs: port xattr to 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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
netfs use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
nfs fs: port xattr to 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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
ocfs2 fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
omfs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
openpromfs
orangefs fs: port acl to mnt_idmap 2023-01-19 09:24:28 +01:00
overlayfs fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
reiserfs fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +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 inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
tracefs fs: port ->mkdir() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
ubifs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
udf fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
ufs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +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 privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
zonefs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +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 privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +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 - 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
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
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 privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
fcntl.c fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00
fhandle.c
file_table.c
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 ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
inode.c fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
internal.h fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +01:00
ioctl.c fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00
Kconfig
Kconfig.binfmt Xtensa updates for v6.1 2022-10-10 14:21:11 -07:00
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 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
namei.c fs: port privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +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 privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +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 privilege checking helpers to mnt_idmap 2023-01-19 09:24:29 +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 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: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00