linux-stable/fs
Linus Torvalds 6639c3ce7f fsverity updates for 6.3
Fix the longstanding implementation limitation that fsverity was only
 supported when the Merkle tree block size, filesystem block size, and
 PAGE_SIZE were all equal.  Specifically, add support for Merkle tree
 block sizes less than PAGE_SIZE, and make ext4 support fsverity on
 filesystems where the filesystem block size is less than PAGE_SIZE.
 
 Effectively, this means that fsverity can now be used on systems with
 non-4K pages, at least on ext4.  These changes have been tested using
 the verity group of xfstests, newly updated to cover the new code paths.
 
 Also update fs/verity/ to support verifying data from large folios.
 There's also a similar patch for fs/crypto/, to support decrypting data
 from large folios, which I'm including in this pull request to avoid a
 merge conflict between the fscrypt and fsverity branches.
 
 There will be a merge conflict in fs/buffer.c with some of the foliation
 work in the mm tree.  Please use the merge resolution from linux-next.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCY/KJtRQcZWJpZ2dlcnNA
 Z29vZ2xlLmNvbQAKCRDzXCl4vpKOK/A/AP0RUlCClBRuHwXPRG0we8R1L153ga4s
 Vl+xRpCr+SswXwEAiOEpYN5cXoVKzNgxbEXo2pQzxi5lrpjZgUI6CL3DuQs=
 =ZRFX
 -----END PGP SIGNATURE-----

Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux

Pull fsverity updates from Eric Biggers:
 "Fix the longstanding implementation limitation that fsverity was only
  supported when the Merkle tree block size, filesystem block size, and
  PAGE_SIZE were all equal.

  Specifically, add support for Merkle tree block sizes less than
  PAGE_SIZE, and make ext4 support fsverity on filesystems where the
  filesystem block size is less than PAGE_SIZE.

  Effectively, this means that fsverity can now be used on systems with
  non-4K pages, at least on ext4. These changes have been tested using
  the verity group of xfstests, newly updated to cover the new code
  paths.

  Also update fs/verity/ to support verifying data from large folios.

  There's also a similar patch for fs/crypto/, to support decrypting
  data from large folios, which I'm including in here to avoid a merge
  conflict between the fscrypt and fsverity branches"

* tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linux:
  fscrypt: support decrypting data from large folios
  fsverity: support verifying data from large folios
  fsverity.rst: update git repo URL for fsverity-utils
  ext4: allow verity with fs block size < PAGE_SIZE
  fs/buffer.c: support fsverity in block_read_full_folio()
  f2fs: simplify f2fs_readpage_limit()
  ext4: simplify ext4_readpage_limit()
  fsverity: support enabling with tree block size < PAGE_SIZE
  fsverity: support verification with tree block size < PAGE_SIZE
  fsverity: replace fsverity_hash_page() with fsverity_hash_block()
  fsverity: use EFBIG for file too large to enable verity
  fsverity: store log2(digest_size) precomputed
  fsverity: simplify Merkle tree readahead size calculation
  fsverity: use unsigned long for level_start
  fsverity: remove debug messages and CONFIG_FS_VERITY_DEBUG
  fsverity: pass pos and size to ->write_merkle_tree_block
  fsverity: optimize fsverity_cleanup_inode() on non-verity files
  fsverity: optimize fsverity_prepare_setattr() on non-verity files
  fsverity: optimize fsverity_file_open() on non-verity files
2023-02-20 12:33:41 -08:00
..
9p fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
adfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
affs fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
afs fs.idmapped.v6.3 2023-02-20 11:53:11 -08: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 fsverity updates for 6.3 2023-02-20 12:33:41 -08:00
cachefiles fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
ceph fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
cifs fs.idmapped.v6.3 2023-02-20 11:53:11 -08: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 fsverity updates for 6.3 2023-02-20 12:33:41 -08:00
debugfs fs: port ->rename() to pass mnt_idmap 2023-01-19 09:24:26 +01:00
devpts
dlm filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05: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 Changes since last update: 2023-02-20 12:23:40 -08: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 quota: port to mnt_idmap 2023-01-19 09:24:29 +01:00
ext4 fsverity updates for 6.3 2023-02-20 12:33:41 -08:00
f2fs fsverity updates for 6.3 2023-02-20 12:33:41 -08:00
fat fs: port vfs{g,u}id helpers to mnt_idmap 2023-01-19 09:24:30 +01:00
freevxfs freevxfs: Kconfig: fix spelling 2023-01-31 16:44:08 -08:00
fscache fscache: Use clear_and_wake_up_bit() in fscache_create_volume_work() 2023-01-30 12:51:54 +00:00
fuse fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
gfs2 fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
hfs fs.idmapped.v6.3 2023-02-20 11:53:11 -08: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
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 quota: port to mnt_idmap 2023-01-19 09:24:29 +01:00
kernfs fs: port xattr to mnt_idmap 2023-01-19 09:24:28 +01:00
ksmbd fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
lockd fs: remove locks_inode 2023-01-11 06:52:43 -05: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.idmapped.v6.3 2023-02-20 11:53:11 -08:00
nfs_common filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
nfsd fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
nilfs2 fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
nls
notify
ntfs fs: port ->setattr() to pass mnt_idmap 2023-01-19 09:24:02 +01:00
ntfs3 fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
ocfs2 fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
omfs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
openpromfs
orangefs fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
overlayfs fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
proc fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
pstore pstore updates for v6.2-rc1-fixes 2022-12-23 11:55:54 -08:00
qnx4
qnx6
quota fs: port vfs{g,u}id helpers to mnt_idmap 2023-01-19 09:24:30 +01:00
ramfs fs: port inode_init_owner() to mnt_idmap 2023-01-19 09:24:28 +01:00
reiserfs quota: port to mnt_idmap 2023-01-19 09:24:29 +01:00
romfs
smbfs_common
squashfs revert "squashfs: harden sanity check in squashfs_read_xattr_id_table" 2023-02-03 17:52:25 -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.idmapped.v6.3 2023-02-20 11:53:11 -08: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: support verifying data from large folios 2023-01-27 14:46:31 -08:00
xfs fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
zonefs fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
aio.c aio: fix mremap after fork null-deref 2023-02-03 17:52:24 -08:00
anon_inodes.c
attr.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
bad_inode.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
binfmt_elf.c elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} 2023-01-05 15:12:12 +00:00
binfmt_elf_fdpic.c elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} 2023-01-05 15:12:12 +00:00
binfmt_elf_test.c
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 fscrypt: support decrypting data from large folios 2023-01-28 15:10:12 -08: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.idmapped.v6.3 2023-02-20 11:53:11 -08:00
d_path.c
dax.c fsdax: dax_unshare_iter() should return a valid length 2023-02-03 17:52:24 -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 i_{g,u}id_into_vfs{g,u}id() to mnt_idmap 2023-01-19 09:24:29 +01:00
fcntl.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
fhandle.c
file.c
file_table.c filelock: move file locking definitions to separate header file 2023-01-11 06:52:32 -05:00
filesystems.c
fs-writeback.c for-6.2/writeback-2022-12-12 2022-12-15 18:09:48 -08:00
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
fsopen.c
init.c fs: port ->permission() to pass mnt_idmap 2023-01-19 09:24:28 +01:00
inode.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
internal.h fs: move mnt_idmap 2023-01-19 09:24:30 +01:00
ioctl.c fs: port inode_owner_or_capable() to mnt_idmap 2023-01-19 09:24:29 +01:00
Kconfig
Kconfig.binfmt
kernel_read_file.c
libfs.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
locks.c fs: remove locks_inode 2023-01-11 06:52:43 -05:00
Makefile fs: move mnt_idmap 2023-01-19 09:24:30 +01:00
mbcache.c ext4: fix deadlock due to mbcache entry corruption 2022-12-08 21:49:25 -05:00
mnt_idmapping.c fs: move mnt_idmap 2023-01-19 09:24:30 +01:00
mount.h
mpage.c
namei.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
namespace.c fs: move mnt_idmap 2023-01-19 09:24:30 +01:00
no-block.c
nsfs.c
open.c fs.v6.3 2023-02-20 12:03:55 -08: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.acl.v6.3 2023-02-20 12:14:33 -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
remap_range.c fs: port i_{g,u}id_into_vfs{g,u}id() to mnt_idmap 2023-01-19 09:24:29 +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.idmapped.v6.3 2023-02-20 11:53:11 -08:00
statfs.c
super.c fscrypt updates for 6.3 2023-02-20 12:29:27 -08:00
sync.c
sysctls.c
timerfd.c
userfaultfd.c mm/userfaultfd: enable writenotify while userfaultfd-wp is enabled for a VMA 2023-01-11 16:14:20 -08:00
utimes.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
xattr.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00