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

From: David Howells
Date: Wed Jan 26 2011 - 06:28:59 EST


Roberto Sassu <roberto.sassu@xxxxxxxxx> 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
---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/