diff options
author | Tyler Hicks <tyhicks@linux.vnet.ibm.com> | 2009-08-26 02:54:56 -0400 |
---|---|---|
committer | Tyler Hicks <tyhicks@linux.vnet.ibm.com> | 2009-09-23 10:10:32 -0400 |
commit | 3891959846709a19f76628e33478cd85edb0e79f (patch) | |
tree | 5916035dc686c93b42c6b6b0045059db7c066f9c /fs | |
parent | df6ad33ba1b9846bd5f0e2b9016c30c20bc2d948 (diff) |
eCryptfs: Validate global auth tok keys
When searching through the global authentication tokens for a given key
signature, verify that a matching key has not been revoked and has not
expired. This allows the `keyctl revoke` command to be properly used on
keys in use by eCryptfs.
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: ecryptfs-devel@lists.launchpad.net
Cc: stable <stable@kernel.org>
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ecryptfs/keystore.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index 17164e483ab1..a0a7847567e9 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c | |||
@@ -416,7 +416,9 @@ ecryptfs_find_global_auth_tok_for_sig( | |||
416 | &mount_crypt_stat->global_auth_tok_list, | 416 | &mount_crypt_stat->global_auth_tok_list, |
417 | mount_crypt_stat_list) { | 417 | mount_crypt_stat_list) { |
418 | if (memcmp(walker->sig, sig, ECRYPTFS_SIG_SIZE_HEX) == 0) { | 418 | if (memcmp(walker->sig, sig, ECRYPTFS_SIG_SIZE_HEX) == 0) { |
419 | (*global_auth_tok) = walker; | 419 | rc = key_validate(walker->global_auth_tok_key); |
420 | if (!rc) | ||
421 | (*global_auth_tok) = walker; | ||
420 | goto out; | 422 | goto out; |
421 | } | 423 | } |
422 | } | 424 | } |