OSDN Git Service

fscrypt: separate key lookup from key derivation
authorEric Biggers <ebiggers@google.com>
Mon, 30 Apr 2018 22:51:48 +0000 (15:51 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 28 Jun 2018 20:24:33 +0000 (13:24 -0700)
commitf68a71fa8f773c82ed70feb398d7b1ab8cca2dd3
treebc6c80232bf91564e9bdefe5e111142d63695edb
parent52359cf4fd6dd5208b6b9613df5140dfd9a329c7
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