Re: [PATCH] keys: asymmetric: fix error return code in software_key_query()
From: Jarkko Sakkinen <hidden>
Date: 2020-07-23 01:32:40
Also in:
keyrings, lkml
From: Jarkko Sakkinen <hidden>
Date: 2020-07-23 01:32:40
Also in:
keyrings, lkml
On Wed, Jul 15, 2020 at 11:28:38PM +0100, David Howells wrote:
From: Wei Yongjun <redacted>
Fix to return negative error code -ENOMEM from kmalloc() error handling
case instead of 0, as done elsewhere in this function.
Fixes: f1774cb8956a ("X.509: parse public key parameters from x509 for akcipher")
Signed-off-by: Wei Yongjun <redacted>
Signed-off-by: David Howells <dhowells@redhat.com>Why f1774cb8956a lacked any possible testing? It extends ABI anyway. I think it is a kind of change that would require more screening before getting applied.
--- crypto/asymmetric_keys/public_key.c | 1 + 1 file changed, 1 insertion(+)diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c index d7f43d4ea925..e5fae4e838c0 100644 --- a/crypto/asymmetric_keys/public_key.c +++ b/crypto/asymmetric_keys/public_key.c@@ -119,6 +119,7 @@ static int software_key_query(const struct kernel_pkey_params *params, if (IS_ERR(tfm)) return PTR_ERR(tfm); + ret = -ENOMEM;
This is extremely confusing to read way to handle 'ret'.
Would be way more cleaner to be just simple and stupid:
if (!key) {
ret = -ENOMEM;
goto error_free_tfm;
}
key = kmalloc(pkey->keylen + sizeof(u32) * 2 + pkey->paramlen, GFP_KERNEL); if (!key)
/Jarkko