From: Eric Biggers <ebigg...@google.com>

On PowerPC with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y, there is sometimes
a crash in generate_random_aead_testvec().  The problem is that the
generated test vectors use data lengths of up to about 2 * PAGE_SIZE,
which is 128 KiB on PowerPC; however, the data length fields in the test
vectors are 'unsigned short', so the lengths get truncated.  Fix this by
changing the relevant fields to 'unsigned int'.

Fixes: 40153b10d91c ("crypto: testmgr - fuzz AEADs against their generic 
implementation")
Signed-off-by: Eric Biggers <ebigg...@google.com>
---
 crypto/testmgr.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/crypto/testmgr.h b/crypto/testmgr.h
index 9a13c634b2077..fb2afdd544e00 100644
--- a/crypto/testmgr.h
+++ b/crypto/testmgr.h
@@ -43,7 +43,7 @@ struct hash_testvec {
        const char *key;
        const char *plaintext;
        const char *digest;
-       unsigned short psize;
+       unsigned int psize;
        unsigned short ksize;
        int setkey_error;
        int digest_error;
@@ -74,7 +74,7 @@ struct cipher_testvec {
        const char *ctext;
        unsigned char wk; /* weak key flag */
        unsigned short klen;
-       unsigned short len;
+       unsigned int len;
        bool fips_skip;
        bool generates_iv;
        int setkey_error;
@@ -110,9 +110,9 @@ struct aead_testvec {
        unsigned char novrfy;
        unsigned char wk;
        unsigned char klen;
-       unsigned short plen;
-       unsigned short clen;
-       unsigned short alen;
+       unsigned int plen;
+       unsigned int clen;
+       unsigned int alen;
        int setkey_error;
        int setauthsize_error;
        int crypt_error;
-- 
2.21.0.1020.gf2820cf01a-goog

Reply via email to