mbox series

[v6,0/8] fscrypt: preliminary rearrangmeents of key setup

Message ID cover.1691505830.git.sweettea-kernel@dorminy.me (mailing list archive)
Headers show
Series fscrypt: preliminary rearrangmeents of key setup | expand

Message

Sweet Tea Dorminy Aug. 8, 2023, 5:08 p.m. UTC
For btrfs extent encryption, prepared keys need to be asynchronously
freed after the fscrypt_info is freed. This set of various
rearrangements of key setup turns the prepared key member of the info
into a pointer so this is possible.

Patchset is built on kdave/misc-next as per base commit and needs a tiny
fixup to apply to fscrypt/for-next. It passes ext4/f2fs tests for me.

[1] https://lore.kernel.org/linux-fscrypt/cover.1681837335.git.sweettea-kernel@dorminy.me/

Changelog:
v6:
 - Reword 'make infos have a pointer to prepared keys' to elaborate
   on why it is a useful change.

Sweet Tea Dorminy (8):
  fscrypt: move inline crypt decision to info setup
  fscrypt: split and rename setup_file_encryption_key()
  fscrypt: split setup_per_mode_enc_key()
  fscrypt: move dirhash key setup away from IO key setup
  fscrypt: reduce special-casing of IV_INO_LBLK_32
  fscrypt: move all the shared mode key setup deeper
  fscrypt: make infos have a pointer to prepared keys
  fscrypt: make prepared keys record their type

 fs/crypto/crypto.c          |   2 +-
 fs/crypto/fname.c           |   4 +-
 fs/crypto/fscrypt_private.h |  33 +++-
 fs/crypto/inline_crypt.c    |   4 +-
 fs/crypto/keysetup.c        | 357 +++++++++++++++++++++++-------------
 fs/crypto/keysetup_v1.c     |   9 +-
 6 files changed, 265 insertions(+), 144 deletions(-)


base-commit: 54d2161835d828a9663f548f61d1d9c3d3482122