Message ID | 20190520164719.160956-1-ebiggers@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | crypto: testmgr - fix length truncation with large page size | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | fail | Failed to apply to any branch |
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch next (8150a153c013aa2dd1ffae43370b89ac1347a7fb) |
On Mon, May 20, 2019 at 09:47:19AM -0700, Eric Biggers wrote: > From: Eric Biggers <ebiggers@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 <ebiggers@google.com> > --- > crypto/testmgr.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) Patch applied. Thanks.
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;