Re: [RFC][PATCH v3 6/6] eCryptfs: added support for the encrypted key type

David Howells
2011-01-26T11:28:56Z

Roberto Sassu <roberto.sassu@polito.it> wrote:

> (*auth_tok_key) = request_key(&key_type_user, sig, NULL);
> if (!(*auth_tok_key) || IS_ERR(*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));
> - goto out;
> + (*auth_tok_key) = ecryptfs_get_encrypted_key(sig);
> + if (!(*auth_tok_key) || IS_ERR(*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));
> + goto out;
> + }
> }
> (*auth_tok) = ecryptfs_get_key_payload_data(*auth_tok_key);
> if (ecryptfs_verify_version((*auth_tok)->version)) {

You need some locking here, even if it's only use of the RCU read lock.
Encrypted-type keys have an update method and so may change under you.

David
---