diff options
author | Ignat Korchagin <ignat@cloudflare.com> | 2022-08-31 19:37:06 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2022-09-09 16:18:33 +0800 |
commit | bc155c6c188c2f0c5749993b1405673d25a80389 (patch) | |
tree | 0226ca4c02e65bd1359bdd019923b5644130d46f /arch/riscv | |
parent | dc377e013bec20dfedaec5d1f6327e4d57da359b (diff) | |
download | linux-bc155c6c188c2f0c5749993b1405673d25a80389.tar.gz linux-bc155c6c188c2f0c5749993b1405673d25a80389.tar.bz2 linux-bc155c6c188c2f0c5749993b1405673d25a80389.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 78a0324f4a53 ("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: 78a0324f4a53 ("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 'arch/riscv')
0 files changed, 0 insertions, 0 deletions