fscrypt: separate key lookup from key derivation
authorEric Biggers <ebiggers@google.com>
Mon, 30 Apr 2018 22:51:48 +0000 (15:51 -0700)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 20 May 2018 20:21:05 +0000 (16:21 -0400)
commit590f497d08eeae883a4fc2dd938c89520ac139fd
treeb4d2d6feff65b6a880c2666eb966874bcc0f9cf0
parent544d08fde258b4da72b6cfbe2d7172c86ce9860d
fscrypt: separate key lookup from key derivation

Refactor the confusingly-named function 'validate_user_key()' into a new
function 'find_and_derive_key()' which first finds the keyring key, then
does the key derivation.  Among other benefits this avoids the strange
behavior we had previously where if key derivation failed for some
reason, then we would fall back to the alternate key prefix.  Now, we'll
only fall back to the alternate key prefix if a valid key isn't found.

This patch also improves the warning messages that are logged when the
keyring key's payload is invalid.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/crypto/keyinfo.c