[GIT PULL] fscrypt fix for v5.6-rc6
From: Eric Biggers
Date: Wed Mar 11 2020 - 15:49:02 EST
The following changes since commit 98d54f81e36ba3bf92172791eba5ca5bd813989b:
Linux 5.6-rc4 (2020-03-01 16:38:46 -0600)
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 2b4eae95c7361e0a147b838715c8baa1380a428f:
fscrypt: don't evict dirty inodes after removing key (2020-03-07 18:43:07 -0800)
----------------------------------------------------------------
Fix a bug where if userspace is writing to encrypted files while the
FS_IOC_REMOVE_ENCRYPTION_KEY ioctl (introduced in v5.4) is running,
dirty inodes could be evicted, causing writes could be lost or the
filesystem to hang due to a use-after-free. This was encountered during
real-world use, not just theoretical.
Tested with the existing fscrypt xfstests, and with a new xfstest I
wrote to reproduce this bug. This fix does expose an existing bug with
'-o lazytime' that Ted is working on fixing, but this fscrypt fix is
more critical and is needed anyway regardless of the lazytime fix.
----------------------------------------------------------------
Eric Biggers (1):
fscrypt: don't evict dirty inodes after removing key
fs/crypto/keysetup.c | 9 +++++++++
1 file changed, 9 insertions(+)