On Tue, May 12, 2020 at 04:32:49PM -0700, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > Currently, the test_dummy_encryption mount option (which is used for > encryption I/O testing with xfstests) uses v1 encryption policies, and > it relies on userspace inserting a test key into the session keyring. > > We need test_dummy_encryption to support v2 encryption policies too. > Requiring userspace to add the test key doesn't work well with v2 > policies, since v2 policies only support the filesystem keyring (not the > session keyring), and keys in the filesystem keyring are lost when the > filesystem is unmounted. Hooking all test code that unmounts and > re-mounts the filesystem would be difficult. > > Instead, let's make the filesystem automatically add the test key to its > keyring when test_dummy_encryption is enabled. > > That puts the responsibility for choosing the test key on the kernel. > We could just hard-code a key. But out of paranoia, let's first try > using a per-boot random key, to prevent this code from being misused. > A per-boot key will work as long as no one expects dummy-encrypted files > to remain accessible after a reboot. (gce-xfstests doesn't.) > > Therefore, this patch adds a function fscrypt_add_test_dummy_key() which > implements the above. The next patch will use it. > > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> Reviewed-by: Theodore Ts'o <tytso@xxxxxxx>