summaryrefslogtreecommitdiff
path: root/crypto/sig.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2023-06-26 18:33:44 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2023-06-27 15:40:24 +0800
commit694db3f4cf6a1389046cfa91bc7ea43a0bec064c (patch)
tree4ad4b906db976b148ba37b9af0ae9994a0a3ee36 /crypto/sig.c
parent7a5e3222e87b68db93ee5c4c6bd50eae5f6425ca (diff)
downloadlinux-crypto-694db3f4cf6a1389046cfa91bc7ea43a0bec064c.tar.gz
linux-crypto-694db3f4cf6a1389046cfa91bc7ea43a0bec064c.zip
crypto: sig - Fix verify call
The dst SG list needs to be set to NULL for verify calls. Do this as otherwise the underlying algorithm may fail. Furthermore the digest needs to be copied just like the source. Fixes: 3bac7dc3bfd2 ("crypto: sig - Add interface for sign/verify") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/sig.c')
-rw-r--r--crypto/sig.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/crypto/sig.c b/crypto/sig.c
index d812555c..b48c18ec 100644
--- a/crypto/sig.c
+++ b/crypto/sig.c
@@ -128,9 +128,7 @@ int crypto_sig_verify(struct crypto_sig *tfm,
if (err)
return err;
- sg_init_table(data.sg, 2);
- sg_set_buf(&data.sg[0], src, slen);
- sg_set_buf(&data.sg[1], digest, dlen);
+ memcpy(data.buf + slen, digest, dlen);
return crypto_akcipher_sync_post(&data,
crypto_akcipher_verify(data.req));