mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-20 11:34:02 +08:00
crypto: testmgr - test IV value after a cipher operation
The crypto drivers are supposed to update the IV passed to the crypto request before calling the completion callback. Test for the IV value before considering the test as successful. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
d6ba06b8b9
commit
8a826a34a5
@ -1034,12 +1034,22 @@ static int __test_skcipher(struct crypto_skcipher *tfm, int enc,
|
||||
|
||||
q = data;
|
||||
if (memcmp(q, template[i].result, template[i].rlen)) {
|
||||
pr_err("alg: skcipher%s: Test %d failed on %s for %s\n",
|
||||
pr_err("alg: skcipher%s: Test %d failed (invalid result) on %s for %s\n",
|
||||
d, j, e, algo);
|
||||
hexdump(q, template[i].rlen);
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (template[i].iv_out &&
|
||||
memcmp(iv, template[i].iv_out,
|
||||
crypto_skcipher_ivsize(tfm))) {
|
||||
pr_err("alg: skcipher%s: Test %d failed (invalid output IV) on %s for %s\n",
|
||||
d, j, e, algo);
|
||||
hexdump(iv, crypto_skcipher_ivsize(tfm));
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
j = 0;
|
||||
|
@ -67,6 +67,7 @@ struct hash_testvec {
|
||||
struct cipher_testvec {
|
||||
char *key;
|
||||
char *iv;
|
||||
char *iv_out;
|
||||
char *input;
|
||||
char *result;
|
||||
unsigned short tap[MAX_TAP];
|
||||
|
Loading…
Reference in New Issue
Block a user