KEYS: Fix an error code in request_master_key()
diff mbox

Message ID 20161216090827.GA7285@elgon.mountain
State New
Headers show

Commit Message

Dan Carpenter Dec. 16, 2016, 9:08 a.m. UTC
This function has two callers and neither are able to handle a NULL
return.  Really, -EINVAL is the correct thing return here anyway.  This
fixes some static checker warnings like:

	security/keys/encrypted-keys/encrypted.c:709 encrypted_key_decrypt()
	error: uninitialized symbol 'master_key'.

Fixes: 7e70cb497850 ("keys: add new key-type encrypted")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Mimi Zohar Dec. 16, 2016, 4:50 p.m. UTC | #1
Hi Dan,

On Fri, 2016-12-16 at 12:08 +0300, Dan Carpenter wrote:
> This function has two callers and neither are able to handle a NULL
> return.  Really, -EINVAL is the correct thing return here anyway.  This
> fixes some static checker warnings like:
> 
> 	security/keys/encrypted-keys/encrypted.c:709 encrypted_key_decrypt()
> 	error: uninitialized symbol 'master_key'.
> 
> Fixes: 7e70cb497850 ("keys: add new key-type encrypted")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

Thanks!

Mimi

> diff --git a/security/keys/encrypted-keys/encrypted.c b/security/keys/encrypted-keys/encrypted.c
> index 17a06105ccb6..d7a4969b2dd3 100644
> --- a/security/keys/encrypted-keys/encrypted.c
> +++ b/security/keys/encrypted-keys/encrypted.c
> @@ -437,7 +437,7 @@ static struct skcipher_request *init_skcipher_req(const u8 *key,
>  static struct key *request_master_key(struct encrypted_key_payload *epayload,
>  				      const u8 **master_key, size_t *master_keylen)
>  {
> -	struct key *mkey = NULL;
> +	struct key *mkey = ERR_PTR(-EINVAL);
> 
>  	if (!strncmp(epayload->master_desc, KEY_TRUSTED_PREFIX,
>  		     KEY_TRUSTED_PREFIX_LEN)) {
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Howells Jan. 12, 2017, 1:08 p.m. UTC | #2
Mimi Zohar <zohar@linux.vnet.ibm.com> wrote:

> On Fri, 2016-12-16 at 12:08 +0300, Dan Carpenter wrote:
> > This function has two callers and neither are able to handle a NULL
> > return.  Really, -EINVAL is the correct thing return here anyway.  This
> > fixes some static checker warnings like:
> > 
> > 	security/keys/encrypted-keys/encrypted.c:709 encrypted_key_decrypt()
> > 	error: uninitialized symbol 'master_key'.
> > 
> > Fixes: 7e70cb497850 ("keys: add new key-type encrypted")
> > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> Thanks!

Can I put that down as an Acked-by or Reviewed-by?

David
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mimi Zohar Jan. 16, 2017, 1:58 p.m. UTC | #3
On Thu, 2017-01-12 at 13:08 +0000, David Howells wrote:
> Mimi Zohar <zohar@linux.vnet.ibm.com> wrote:
> 
> > On Fri, 2016-12-16 at 12:08 +0300, Dan Carpenter wrote:
> > > This function has two callers and neither are able to handle a NULL
> > > return.  Really, -EINVAL is the correct thing return here anyway.  This
> > > fixes some static checker warnings like:
> > > 
> > > 	security/keys/encrypted-keys/encrypted.c:709 encrypted_key_decrypt()
> > > 	error: uninitialized symbol 'master_key'.
> > > 
> > > Fixes: 7e70cb497850 ("keys: add new key-type encrypted")
> > > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> > 
> > Thanks!
> 
> Can I put that down as an Acked-by or Reviewed-by?

Feel free to add by "Acked-by" on both this patch and Dan's other patch
"KEYS: Use memzero_explicit() for secret data".

Mimi


--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/security/keys/encrypted-keys/encrypted.c b/security/keys/encrypted-keys/encrypted.c
index 17a06105ccb6..d7a4969b2dd3 100644
--- a/security/keys/encrypted-keys/encrypted.c
+++ b/security/keys/encrypted-keys/encrypted.c
@@ -437,7 +437,7 @@  static struct skcipher_request *init_skcipher_req(const u8 *key,
 static struct key *request_master_key(struct encrypted_key_payload *epayload,
 				      const u8 **master_key, size_t *master_keylen)
 {
-	struct key *mkey = NULL;
+	struct key *mkey = ERR_PTR(-EINVAL);
 
 	if (!strncmp(epayload->master_desc, KEY_TRUSTED_PREFIX,
 		     KEY_TRUSTED_PREFIX_LEN)) {