summaryrefslogtreecommitdiff
path: root/crypto/ecdh.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2021-02-02 14:37:25 +0000
committerRussell King <rmk+kernel@armlinux.org.uk>2021-02-02 14:37:25 +0000
commita8cbbef94789930aa696a9caed8549b8693d468e (patch)
tree48b12404e5bcf211a803770080048a4fa27c4bc8 /crypto/ecdh.c
parent9ec0d8545d57411eae84b41824f018ef670a024c (diff)
parentbc856b9e798dc80d0f0d047b9221c6e1fc27db2b (diff)
downloadlinux-crypto-a8cbbef94789930aa696a9caed8549b8693d468e.tar.gz
linux-crypto-a8cbbef94789930aa696a9caed8549b8693d468e.zip
Merge tag 'amba-make-remove-return-void' of https://git.pengutronix.de/git/ukl/linux into devel-stable
Tag for adaptions to struct amba_driver::remove changing prototype
Diffstat (limited to 'crypto/ecdh.c')
-rw-r--r--crypto/ecdh.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/crypto/ecdh.c b/crypto/ecdh.c
index b0232d6a..d56b8603 100644
--- a/crypto/ecdh.c
+++ b/crypto/ecdh.c
@@ -53,12 +53,13 @@ static int ecdh_set_secret(struct crypto_kpp *tfm, const void *buf,
return ecc_gen_privkey(ctx->curve_id, ctx->ndigits,
ctx->private_key);
- if (ecc_is_key_valid(ctx->curve_id, ctx->ndigits,
- (const u64 *)params.key, params.key_size) < 0)
- return -EINVAL;
-
memcpy(ctx->private_key, params.key, params.key_size);
+ if (ecc_is_key_valid(ctx->curve_id, ctx->ndigits,
+ ctx->private_key, params.key_size) < 0) {
+ memzero_explicit(ctx->private_key, params.key_size);
+ return -EINVAL;
+ }
return 0;
}