diff options
author | Roberto Sassu <roberto.sassu@polito.it> | 2011-03-21 16:00:55 +0100 |
---|---|---|
committer | Tyler Hicks <tyhicks@linux.vnet.ibm.com> | 2011-03-28 08:49:43 +0200 |
commit | b5695d04634fa4ccca7dcbc05bb4a66522f02e0b (patch) | |
tree | 568155380ea1b1fa3b9e68f68dd74cdd9d651229 /fs/ecryptfs/main.c | |
parent | eCryptfs: move ecryptfs_find_auth_tok_for_sig() call before mutex_lock (diff) | |
download | linux-b5695d04634fa4ccca7dcbc05bb4a66522f02e0b.tar.xz linux-b5695d04634fa4ccca7dcbc05bb4a66522f02e0b.zip |
eCryptfs: write lock requested keys
A requested key is write locked in order to prevent modifications on the
authentication token while it is being used.
Signed-off-by: Roberto Sassu <roberto.sassu@polito.it>
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Diffstat (limited to 'fs/ecryptfs/main.c')
-rw-r--r-- | fs/ecryptfs/main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index 520d05f5ad01..c27c0ecf90bc 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c @@ -254,8 +254,10 @@ static int ecryptfs_init_global_auth_toks( "option: [%s]\n", global_auth_tok->sig); global_auth_tok->flags |= ECRYPTFS_AUTH_TOK_INVALID; goto out; - } else + } else { global_auth_tok->flags &= ~ECRYPTFS_AUTH_TOK_INVALID; + up_write(&(global_auth_tok->global_auth_tok_key)->sem); + } } out: return rc; |