summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2019-10-09 16:03:49 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-31 16:46:07 +0100
commit9d5ef3a2f3939b74ff90cc10b1a3fe33193f5d0f (patch)
tree44ede6a28b3417594475bf778f0b15021f522a55
parent3b2c3e376f6233259037532181bd0ad66b030cbd (diff)
downloadlinux-crypto-9d5ef3a2f3939b74ff90cc10b1a3fe33193f5d0f.tar.gz
linux-crypto-9d5ef3a2f3939b74ff90cc10b1a3fe33193f5d0f.zip
KEYS: asymmetric: return ENOMEM if akcipher_request_alloc() fails
commit 135a5b27c8ddf6f5f681f7e1bc15d350a83220f9 upstream. No error code was being set on this error path. Cc: stable@vger.kernel.org Fixes: 61e4c308f504 ("KEYS: asym_tpm: Implement encryption operation [ver #2]") Fixes: 62e395f6b1be ("KEYS: Implement encrypt, decrypt and sign for software asymmetric key [ver #2]") Reviewed-by: James Morris <jamorris@linux.microsoft.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--crypto/asymmetric_keys/asym_tpm.c1
-rw-r--r--crypto/asymmetric_keys/public_key.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/asym_tpm.c b/crypto/asymmetric_keys/asym_tpm.c
index 76d2ce3a..5154e280 100644
--- a/crypto/asymmetric_keys/asym_tpm.c
+++ b/crypto/asymmetric_keys/asym_tpm.c
@@ -486,6 +486,7 @@ static int tpm_key_encrypt(struct tpm_key *tk,
if (ret < 0)
goto error_free_tfm;
+ ret = -ENOMEM;
req = akcipher_request_alloc(tfm, GFP_KERNEL);
if (!req)
goto error_free_tfm;
diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c
index 364b9df9..d7f43d4e 100644
--- a/crypto/asymmetric_keys/public_key.c
+++ b/crypto/asymmetric_keys/public_key.c
@@ -184,6 +184,7 @@ static int software_key_eds_op(struct kernel_pkey_params *params,
if (IS_ERR(tfm))
return PTR_ERR(tfm);
+ ret = -ENOMEM;
req = akcipher_request_alloc(tfm, GFP_KERNEL);
if (!req)
goto error_free_tfm;