diff options
author | Eric Biggers <ebiggers@google.com> | 2019-10-09 16:03:49 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-12-31 16:46:07 +0100 |
commit | 9d5ef3a2f3939b74ff90cc10b1a3fe33193f5d0f (patch) | |
tree | 44ede6a28b3417594475bf778f0b15021f522a55 | |
parent | 3b2c3e376f6233259037532181bd0ad66b030cbd (diff) | |
download | linux-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.c | 1 | ||||
-rw-r--r-- | crypto/asymmetric_keys/public_key.c | 1 |
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; |