| From ac4a8bdcc5a9631f4e995a07ffef68563fb59e38 Mon Sep 17 00:00:00 2001 |
| From: Roberto Sassu <roberto.sassu@polito.it> |
| Date: Thu, 17 Mar 2011 12:48:50 +0100 |
| Subject: [PATCH] eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix |
| |
| commit 1821df040ac3cd6a57518739f345da6d50ea9d3f upstream. |
| |
| The pointer '(*auth_tok_key)' is set to NULL in case request_key() |
| fails, in order to prevent its use by functions calling |
| ecryptfs_keyring_auth_tok_for_sig(). |
| |
| Signed-off-by: Roberto Sassu <roberto.sassu@polito.it> |
| Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c |
| index 89c5476..d6e9355 100644 |
| --- a/fs/ecryptfs/keystore.c |
| +++ b/fs/ecryptfs/keystore.c |
| @@ -1543,6 +1543,7 @@ int ecryptfs_keyring_auth_tok_for_sig(struct key **auth_tok_key, |
| printk(KERN_ERR "Could not find key with description: [%s]\n", |
| sig); |
| rc = process_request_key_err(PTR_ERR(*auth_tok_key)); |
| + (*auth_tok_key) = NULL; |
| goto out; |
| } |
| (*auth_tok) = ecryptfs_get_key_payload_data(*auth_tok_key); |
| -- |
| 1.7.4.4 |
| |