Am Dienstag, 16. Juni 2015, 11:46:46 schrieb Boris Brezillon:

Hi Herbert,

>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.

May I ask whether there is anything wrong with this patch?

I am asking because the keywrapping template I would like to release would 
need the test manager to check the generated IV.

Thanks a lot.

>
>Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com>
>---
> crypto/testmgr.c | 12 +++++++++++-
> crypto/testmgr.h |  1 +
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
>diff --git a/crypto/testmgr.c b/crypto/testmgr.c
>index f9bce3d..e6b5f24 100644
>--- a/crypto/testmgr.c
>+++ b/crypto/testmgr.c
>@@ -1013,12 +1013,22 @@ static int __test_skcipher(struct crypto_ablkcipher
>*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_ablkcipher_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_ablkcipher_ivsize(tfm));
>+                      ret = -EINVAL;
>+                      goto out;
>+              }
>       }
>
>       j = 0;
>diff --git a/crypto/testmgr.h b/crypto/testmgr.h
>index 62e2485..03320f9 100644
>--- a/crypto/testmgr.h
>+++ b/crypto/testmgr.h
>@@ -49,6 +49,7 @@ struct hash_testvec {
> struct cipher_testvec {
>       char *key;
>       char *iv;
>+      char *iv_out;
>       char *input;
>       char *result;
>       unsigned short tap[MAX_TAP];


Ciao
Stephan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to