From: Roberto Sassu <roberto.sassu@polito.it>
Date: Thu, 17 Mar 2011 11:48:50 +0000 (+0100)
Subject: eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix
X-Git-Tag: firefly_0821_release~7613^2~1746^2~5
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1821df040ac3cd6a57518739f345da6d50ea9d3f;p=firefly-linux-kernel-4.4.55.git

eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix

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>
Cc: <stable@kernel.org>
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
---

diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c
index c1436cff6f2d..4feb78c23651 100644
--- a/fs/ecryptfs/keystore.c
+++ b/fs/ecryptfs/keystore.c
@@ -1563,6 +1563,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);