[PATCH] ecryptfs: initialize new auth_tokens before teardown

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: linux-kernel Mailing List <linux-kernel@...>
Cc: Andrew Morton <akpm@...>, Michael Halcrow <mhalcrow@...>
Date: Tuesday, December 11, 2007 - 7:52 pm

ecryptfs_destroy_mount_crypt_stat() checks whether each 
auth_tok->global_auth_tok_key is nonzero and if so puts that
key.  However, in some early mount error paths nothing has initialized
the pointer, and we try to key_put() garbage.  Running the bad cipher 
tests in the testsuite exposes this, and it's happy with the following 
change.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>

---

Index: linux/fs/ecryptfs/keystore.c
===================================================================
--- linux.orig/fs/ecryptfs/keystore.c
+++ linux/fs/ecryptfs/keystore.c
@@ -1851,7 +1851,7 @@ ecryptfs_add_global_auth_tok(struct ecry
 	struct ecryptfs_global_auth_tok *new_auth_tok;
 	int rc = 0;
 
-	new_auth_tok = kmem_cache_alloc(ecryptfs_global_auth_tok_cache,
+	new_auth_tok = kmem_cache_zalloc(ecryptfs_global_auth_tok_cache,
 					GFP_KERNEL);
 	if (!new_auth_tok) {
 		rc = -ENOMEM;

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] ecryptfs: initialize new auth_tokens before teardown, Eric Sandeen, (Tue Dec 11, 7:52 pm)