[GIT PULL] fscrypt updates for 5.10

From: Eric Biggers
Date: Mon Oct 12 2020 - 12:35:48 EST


The following changes since commit f4d51dffc6c01a9e94650d95ce0104964f8ae822:

Linux 5.9-rc4 (2020-09-06 17:11:40 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/fs/fscrypt/fscrypt.git tags/fscrypt-for-linus

for you to fetch changes up to 5b2a828b98ec1872799b1b4d82113c76a12d594f:

fscrypt: export fscrypt_d_revalidate() (2020-09-28 14:44:51 -0700)

----------------------------------------------------------------

This release, we rework the implementation of creating new encrypted
files in order to fix some deadlocks and prepare for adding fscrypt
support to CephFS, which Jeff Layton is working on.

We also export a symbol in preparation for the above-mentioned CephFS
support and also for ext4/f2fs encrypt+casefold support.

Finally, there are a few other small cleanups.

As usual, all these patches have been in linux-next with no reported
issues, and I've tested them with xfstests.

----------------------------------------------------------------
Eric Biggers (18):
fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
fscrypt: add fscrypt_prepare_new_inode() and fscrypt_set_context()
ext4: factor out ext4_xattr_credits_for_new_inode()
ext4: use fscrypt_prepare_new_inode() and fscrypt_set_context()
f2fs: use fscrypt_prepare_new_inode() and fscrypt_set_context()
ubifs: use fscrypt_prepare_new_inode() and fscrypt_set_context()
fscrypt: adjust logging for in-creation inodes
fscrypt: remove fscrypt_inherit_context()
fscrypt: require that fscrypt_encrypt_symlink() already has key
fscrypt: stop pretending that key setup is nofs-safe
fscrypt: make "#define fscrypt_policy" user-only
fscrypt: move fscrypt_prepare_symlink() out-of-line
fscrypt: handle test_dummy_encryption in more logical way
fscrypt: make fscrypt_set_test_dummy_encryption() take a 'const char *'
fscrypt: use sha256() instead of open coding
fscrypt: don't call no-key names "ciphertext names"
fscrypt: rename DCACHE_ENCRYPTED_NAME to DCACHE_NOKEY_NAME
fscrypt: export fscrypt_d_revalidate()

Jeff Layton (1):
fscrypt: drop unused inode argument from fscrypt_fname_alloc_buffer

fs/crypto/crypto.c | 4 +-
fs/crypto/fname.c | 60 ++++++-------
fs/crypto/fscrypt_private.h | 10 ++-
fs/crypto/hooks.c | 80 +++++++++++------
fs/crypto/inline_crypt.c | 7 +-
fs/crypto/keyring.c | 9 +-
fs/crypto/keysetup.c | 182 +++++++++++++++++++++++++++----------
fs/crypto/keysetup_v1.c | 8 +-
fs/crypto/policy.c | 209 ++++++++++++++++++++++++-------------------
fs/ext4/dir.c | 2 +-
fs/ext4/ext4.h | 6 +-
fs/ext4/ialloc.c | 119 ++++++++++++------------
fs/ext4/namei.c | 7 +-
fs/ext4/super.c | 16 ++--
fs/f2fs/dir.c | 6 +-
fs/f2fs/f2fs.h | 25 +-----
fs/f2fs/namei.c | 7 +-
fs/f2fs/super.c | 15 ++--
fs/ubifs/dir.c | 40 ++++-----
include/linux/dcache.h | 2 +-
include/linux/fscrypt.h | 159 +++++++++++++-------------------
include/uapi/linux/fscrypt.h | 6 +-
22 files changed, 535 insertions(+), 444 deletions(-)