fscrypto/f2fs: allow fs-specific key prefix for fs encryption
authorJaegeuk Kim <jaegeuk@kernel.org>
Thu, 5 May 2016 05:05:01 +0000 (22:05 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Sat, 7 May 2016 17:32:33 +0000 (10:32 -0700)
commitb5a7aef1ef436ec005fef0efe31a676ec5f4ab31
treec3eb022f963b70eadb066e8c87b7041236955289
parent09210c973af30320edc03a6325422cdd0f03b580
fscrypto/f2fs: allow fs-specific key prefix for fs encryption

This patch allows fscrypto to handle a second key prefix given by filesystem.
The main reason is to provide backward compatibility, since previously f2fs
used "f2fs:" as a crypto prefix instead of "fscrypt:".
Later, ext4 should also provide key_prefix() to give "ext4:".

One concern decribed by Ted would be kinda double check overhead of prefixes.
In x86, for example, validate_user_key consumes 8 ms after boot-up, which turns
out derive_key_aes() consumed most of the time to load specific crypto module.
After such the cold miss, it shows almost zero latencies, which treats as a
negligible overhead.
Note that request_key() detects wrong prefix in prior to derive_key_aes() even.

Cc: Ted Tso <tytso@mit.edu>
Cc: stable@vger.kernel.org # v4.6
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/crypto/keyinfo.c
fs/f2fs/f2fs.h
fs/f2fs/super.c
include/linux/fscrypto.h