summaryrefslogtreecommitdiff
path: root/crypto/aead.c
diff options
context:
space:
mode:
authorIgnat Korchagin <ignat@cloudflare.com>2022-08-31 19:37:06 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2022-09-09 16:18:33 +0800
commit8b775ba1ab8a3d315dd513c1df00361fa59bec28 (patch)
treeda4aa3fff43cd7d0f19b9eb52a976542f83e5cb9 /crypto/aead.c
parent845071c2972938c4300c12097d07934756c11640 (diff)
downloadlinux-crypto-8b775ba1ab8a3d315dd513c1df00361fa59bec28.tar.gz
linux-crypto-8b775ba1ab8a3d315dd513c1df00361fa59bec28.zip
crypto: akcipher - default implementation for setting a private key
Changes from v1: * removed the default implementation from set_pub_key: it is assumed that an implementation must always have this callback defined as there are no use case for an algorithm, which doesn't need a public key Many akcipher implementations (like ECDSA) support only signature verifications, so they don't have all callbacks defined. Commit 17cf89128477 ("crypto: akcipher - default implementations for request callbacks") introduced default callbacks for sign/verify operations, which just return an error code. However, these are not enough, because before calling sign the caller would likely call set_priv_key first on the instantiated transform (as the in-kernel testmgr does). This function does not have a default stub, so the kernel crashes, when trying to set a private key on an akcipher, which doesn't support signature generation. I've noticed this, when trying to add a KAT vector for ECDSA signature to the testmgr. With this patch the testmgr returns an error in dmesg (as it should) instead of crashing the kernel NULL ptr dereference. Fixes: 17cf89128477 ("crypto: akcipher - default implementations for request callbacks") Signed-off-by: Ignat Korchagin <ignat@cloudflare.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/aead.c')
0 files changed, 0 insertions, 0 deletions