twx-linux/fs
Linus Torvalds 283564a433 fscrypt updates for 6.17
Simplify how fscrypt uses the crypto API, resulting in some
 significant performance improvements:
 
  - Drop the incomplete and problematic support for asynchronous
    algorithms. These drivers are bug-prone, and it turns out they are
    actually much slower than the CPU-based code as well.
 
  - Allocate crypto requests on the stack instead of the heap. This
    improves encryption and decryption performance, especially for
    filenames. It also eliminates a point of failure during I/O.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCaIZ+fhQcZWJpZ2dlcnNA
 a2VybmVsLm9yZwAKCRDzXCl4vpKOK+dkAQDrHUTj9dGZI/cQ/TjP0kmOv9XfYAfj
 HOQDRikTX+Ip4QEA6L8FS8lJYf9EMznTvTPOkP7hXpwqzuf00vJWr+ySmQs=
 =N9vo
 -----END PGP SIGNATURE-----

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

Pull fscrypt updates from Eric Biggers:
 "Simplify how fscrypt uses the crypto API, resulting in some
  significant performance improvements:

   - Drop the incomplete and problematic support for asynchronous
     algorithms. These drivers are bug-prone, and it turns out they are
     actually much slower than the CPU-based code as well.

   - Allocate crypto requests on the stack instead of the heap. This
     improves encryption and decryption performance, especially for
     filenames. This also eliminates a point of failure during I/O"

* tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
  ceph: Remove gfp_t argument from ceph_fscrypt_encrypt_*()
  fscrypt: Remove gfp_t argument from fscrypt_encrypt_block_inplace()
  fscrypt: Remove gfp_t argument from fscrypt_crypt_data_unit()
  fscrypt: Switch to sync_skcipher and on-stack requests
  fscrypt: Drop FORBID_WEAK_KEYS flag for AES-ECB
  fscrypt: Don't use asynchronous CryptoAPI algorithms
  fscrypt: Don't use problematic non-inline crypto engines
  fscrypt: Drop obsolete recommendation to enable optimized SHA-512
  fscrypt: Explicitly include <linux/export.h>
2025-07-28 18:07:38 -07:00
..
9p vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
adfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
affs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
afs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
autofs new helper: set_default_d_op() 2025-06-10 22:21:16 -04:00
bcachefs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
befs
bfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
btrfs CRC updates for 6.17 2025-07-28 17:43:29 -07:00
cachefiles vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00
ceph fscrypt updates for 6.17 2025-07-28 18:07:38 -07:00
coda vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
configfs configfs: use DCACHE_DONTCACHE 2025-06-11 13:41:05 -04:00
cramfs
crypto fscrypt: Remove gfp_t argument from fscrypt_encrypt_block_inplace() 2025-07-10 12:33:13 -07:00
debugfs Massage rpc_pipefs to use saner primitives and clean up the 2025-07-28 09:56:09 -07:00
devpts devpts, sunrpc, hostfs: don't bother with ->d_op 2025-06-11 13:40:04 -04:00
dlm treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ecryptfs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
efivarfs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
efs
erofs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
exfat vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
exportfs exportfs: use lookup_one_unlocked() 2025-06-11 13:44:15 +02:00
ext2 \n 2025-07-28 16:16:09 -07:00
ext4 vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
f2fs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
fat vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
freevxfs
fuse for-6.17/block-20250728 2025-07-28 16:43:54 -07:00
gfs2 vfs-6.17-rc1.iomap 2025-07-28 16:09:03 -07:00
hfs hfs/hfsplus updates for v6.17 2025-07-28 16:17:44 -07:00
hfsplus hfs/hfsplus updates for v6.17 2025-07-28 16:17:44 -07:00
hostfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
hpfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
hugetlbfs vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00
iomap vfs-6.17-rc1.iomap 2025-07-28 16:09:03 -07:00
isofs Current exclusion rules for ->d_flags stores are rather unpleasant. 2025-07-28 09:17:57 -07:00
jbd2 treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
jffs2 vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
jfs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
kernfs vfs-6.17-rc1.bpf 2025-07-28 14:42:31 -07:00
lockd
minix vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
netfs netfs: Fix race between cache write completion and ALL_QUEUED being set 2025-07-14 11:05:02 +02:00
nfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
nfs_common nfs_localio: change nfsd_file_put_local() to take a pointer to __rcu pointer 2025-05-28 17:17:14 -04:00
nfsd vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00
nilfs2 vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
nls
notify fix a leak in fcntl_dirnotify() 2025-07-14 10:13:31 +02:00
ntfs3 vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
ocfs2 vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
omfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
openpromfs
orangefs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
overlayfs vfs-6.17-rc1.fileattr 2025-07-28 15:24:14 -07:00
proc hardening updates for v6.17-rc1 2025-07-28 17:16:12 -07:00
pstore pstore: switch to locked_recursive_removal() 2025-07-02 22:36:51 -04:00
qnx4
qnx6
quota
ramfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
resctrl x86,fs/resctrl: Remove inappropriate references to cacheinfo in the resctrl subsystem 2025-06-16 21:06:12 +02:00
romfs fs: replace mmap hook with .mmap_prepare for simple mappings 2025-06-19 13:56:59 +02:00
smb eight SMB3 server fixes 2025-07-28 16:25:24 -07:00
squashfs squashfs: add optional full compressed block caching 2025-05-27 19:40:33 -07:00
sysfs sysfs: constify attribute_group::bin_attrs 2025-04-15 18:46:10 +02:00
tests
tracefs Massage rpc_pipefs to use saner primitives and clean up the 2025-07-28 09:56:09 -07:00
ubifs fscrypt updates for 6.17 2025-07-28 18:07:38 -07:00
udf \n 2025-07-28 16:16:09 -07:00
ufs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
unicode
vboxsf vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
verity fsverity: Switch from crypto_shash to SHA-2 library 2025-07-14 11:29:32 -07:00
xfs for-6.17/block-20250728 2025-07-28 16:43:54 -07:00
zonefs zonefs changes for 6.17-rc1 2025-07-28 17:06:51 -07:00
aio.c fs: replace mmap hook with .mmap_prepare for simple mappings 2025-06-19 13:56:59 +02:00
anon_inodes.c fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass 2025-06-23 12:41:17 +02:00
attr.c docs/vfs: update references to i_mutex to i_rwsem 2025-06-23 12:17:33 +02:00
backing-file.c vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
bad_inode.c
binfmt_elf_fdpic.c execve updates for v6.17 2025-07-28 17:11:40 -07:00
binfmt_elf.c execve updates for v6.17 2025-07-28 17:11:40 -07:00
binfmt_flat.c
binfmt_misc.c binfmt_misc: switch to locked_recursive_removal() 2025-07-02 22:36:51 -04:00
binfmt_script.c
bpf_fs_kfuncs.c bpf: Introduce bpf_cgroup_read_xattr to read xattr of cgroup's node 2025-07-02 14:18:20 +02:00
buffer.c fs: change write_begin/write_end interface to take struct kiocb * 2025-07-16 14:48:18 +02:00
char_dev.c
compat_binfmt_elf.c
coredump.c vfs-6.17-rc1.pidfs 2025-07-28 14:10:15 -07:00
d_path.c fold fs_struct->{lock,seq} into a seqlock 2025-07-08 10:25:19 +02:00
dax.c vfs-6.16-rc2.fixes 2025-06-02 12:49:16 -07:00
dcache.c vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00
direct-io.c docs/vfs: update references to i_mutex to i_rwsem 2025-06-23 12:17:33 +02:00
drop_caches.c
eventfd.c
eventpoll.c vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00
exec.c vfs-6.17-rc1.pidfs 2025-07-28 14:10:15 -07:00
fcntl.c
fhandle.c fold fs_struct->{lock,seq} into a seqlock 2025-07-08 10:25:19 +02:00
file_attr.c fs: tighten a sanity check in file_attr_to_fileattr() 2025-07-16 10:22:01 +02:00
file_table.c fs: constify file ptr in backing_file accessor helpers 2025-07-18 11:09:29 +02:00
file.c vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00
filesystems.c fs/filesystems: Fix potential unsigned integer underflow in fs_name() 2025-04-14 13:05:59 +02:00
fs_context.c fs/fs_context: Mark an unlikely if condition with unlikely() in vfs_parse_monolithic_sep() 2025-04-14 13:05:59 +02:00
fs_parser.c fs/fs_parse: Remove unused and problematic validate_constant_table() 2025-04-21 10:27:59 +02:00
fs_pin.c
fs_struct.c fold fs_struct->{lock,seq} into a seqlock 2025-07-08 10:25:19 +02:00
fs_types.c
fs-writeback.c
fsopen.c
init.c
inode.c vfs: Remove unnecessary list_for_each_entry_safe() from evict_inodes() 2025-07-10 09:37:32 +02:00
internal.h vfs-6.17-rc1.pidfs 2025-07-28 14:10:15 -07:00
ioctl.c fs: split fileattr related helpers into separate file 2025-07-01 22:44:22 +02:00
Kconfig fs/resctrl: Add boiler plate for external resctrl code 2025-05-16 11:05:40 +02:00
Kconfig.binfmt
kernel_read_file.c
libfs.c vfs-6.17-rc1.pidfs 2025-07-28 14:10:15 -07:00
locks.c docs/vfs: update references to i_mutex to i_rwsem 2025-06-23 12:17:33 +02:00
Makefile fs: split fileattr related helpers into separate file 2025-07-01 22:44:22 +02:00
mbcache.c
mnt_idmapping.c
mount.h copy_tree(): don't link the mounts via mnt_list 2025-06-29 19:03:37 -04:00
mpage.c fs: use writeback_iter directly in mpage_writepages 2025-05-09 12:37:48 +02:00
namei.c vfs-6.17-rc1.pidfs 2025-07-28 14:10:15 -07:00
namespace.c vfs-6.17-rc1.nsfs 2025-07-28 12:50:56 -07:00
nsfs.c
open.c vfs-6.17-rc1.fallocate 2025-07-28 13:36:49 -07:00
pidfs.c vfs-6.17-rc1.pidfs 2025-07-28 14:10:15 -07:00
pipe.c fs/pipe: set FMODE_NOWAIT in create_pipe_files() 2025-06-10 13:16:19 +02:00
pnode.c copy_tree(): don't link the mounts via mnt_list 2025-06-29 19:03:37 -04:00
pnode.h get rid of CL_SHARE_TO_SLAVE 2025-06-29 19:03:46 -04:00
posix_acl.c
proc_namespace.c ->mnt_devname is never NULL 2025-05-23 14:20:44 +02:00
read_write.c vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
readdir.c readdir: supply dir_context.count as readdir buffer size hint 2025-05-29 12:31:23 +02:00
remap_range.c
select.c fs: annotate suspected data race between poll_schedule_timeout() and pollwake() 2025-06-23 12:36:51 +02:00
seq_file.c
signalfd.c
splice.c splice: remove duplicate noinline from pipe_clear_nowait 2025-04-25 12:11:56 +02:00
stack.c docs/vfs: update references to i_mutex to i_rwsem 2025-06-23 12:17:33 +02:00
stat.c xfs: New code for 6.16 2025-05-26 12:56:01 -07:00
statfs.c
super.c vfs-6.17-rc1.super 2025-07-28 15:50:15 -07:00
sync.c
sysctls.c
timerfd.c
userfaultfd.c mm/userfaultfd: fix uninitialized output field for -EAGAIN race 2025-05-07 23:39:39 -07:00
utimes.c
xattr.c vfs-6.17-rc1.misc 2025-07-28 11:22:56 -07:00