linux/fs/f2fs
Christian Brauner 2f221d6f7b
attr: handle idmapped mounts
When file attributes are changed most filesystems rely on the
setattr_prepare(), setattr_copy(), and notify_change() helpers for
initialization and permission checking. Let them handle idmapped mounts.
If the inode is accessed through an idmapped mount map it into the
mount's user namespace. Afterwards the checks are identical to
non-idmapped mounts. If the initial user namespace is passed nothing
changes so non-idmapped mounts will see identical behavior as before.

Helpers that perform checks on the ia_uid and ia_gid fields in struct
iattr assume that ia_uid and ia_gid are intended values and have already
been mapped correctly at the userspace-kernelspace boundary as we
already do today. If the initial user namespace is passed nothing
changes so non-idmapped mounts will see identical behavior as before.

Link: https://lore.kernel.org/r/20210121131959.646623-8-christian.brauner@ubuntu.com
Cc: Christoph Hellwig <hch@lst.de>
Cc: David Howells <dhowells@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
2021-01-24 14:27:16 +01:00
..
acl.c f2fs: Remove the redundancy initialization 2020-12-02 22:00:21 -08:00
acl.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
checkpoint.c f2fs-for-5.11-rc1 2020-12-17 11:18:00 -08:00
compress.c f2fs: compress: fix compression chksum 2020-12-10 09:13:53 -08:00
compress.h f2fs: compress: fix compression chksum 2020-12-10 09:13:53 -08:00
data.c f2fs: fix race of pending_pages in decompression 2020-12-08 15:39:14 -08:00
debug.c f2fs: avoid race condition for shrinker count 2020-12-03 00:59:26 -08:00
dir.c f2fs-for-5.11-rc1 2020-12-17 11:18:00 -08:00
extent_cache.c f2fs: support 64-bits key in f2fs rb-tree node entry 2020-09-10 14:03:30 -07:00
f2fs.h f2fs-for-5.11-rc1 2020-12-17 11:18:00 -08:00
file.c attr: handle idmapped mounts 2021-01-24 14:27:16 +01:00
gc.c f2fs: change to use rwsem for cp_mutex 2020-12-02 22:00:21 -08:00
gc.h f2fs: support age threshold based garbage collection 2020-09-11 11:11:15 -07:00
hash.c f2fs: Handle casefolding with Encryption 2020-12-02 22:00:21 -08:00
inline.c f2fs: inline: fix wrong inline inode stat 2020-12-08 14:25:41 -08:00
inode.c f2fs: compress: support chksum 2020-12-02 22:00:22 -08:00
Kconfig f2fs: compress: support lzo-rle compress algorithm 2020-05-11 20:36:46 -07:00
Makefile f2fs: support data compression 2020-01-17 16:48:07 -08:00
namei.c inode: make init and permission helpers idmapped mount aware 2021-01-24 14:27:16 +01:00
node.c f2fs: fix to account inline xattr correctly during recovery 2020-12-08 14:25:41 -08:00
node.h f2fs: avoid race condition for shrinker count 2020-12-03 00:59:26 -08:00
recovery.c f2fs: change to use rwsem for cp_mutex 2020-12-02 22:00:21 -08:00
segment.c f2fs: add compress_mode mount option 2020-12-03 00:11:57 -08:00
segment.h f2fs: fix wrong total_sections check and fsmeta check 2020-09-29 01:48:34 -07:00
shrinker.c f2fs: avoid race condition for shrinker count 2020-12-03 00:59:26 -08:00
super.c f2fs-for-5.11-rc1 2020-12-17 11:18:00 -08:00
sysfs.c f2fs-for-5.11-rc1 2020-12-17 11:18:00 -08:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
verity.c mm/readahead: make page_cache_ra_unbounded take a readahead_control 2020-10-16 11:11:16 -07:00
xattr.c inode: make init and permission helpers idmapped mount aware 2021-01-24 14:27:16 +01:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00