crypto: tcrypt - avoid signed overflow in byte count
PATCH 1/1 crypto: tcrypt - avoid signed overflow in byte count
The signed long type used for printing the number of bytes processed in tcrypt benchmarks limits the range to -/+ 2 GiB, which is not sufficient to cover the performance of common accelerated ciphers such as AES-NI when benchmarked with sec=1. So switch to u64 instead.
While at it, fix up a missing printk->pr_cont conversion in the AEAD benchmark.
--- crypto/tcrypt.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
crypto/tcrypt.c +10 -10
@@ -199,8 +199,8 @@ static int test_mb_aead_jiffies(struct test_mb_aead_data *data, int enc, goto out; } -pr_cont ("%d operations in %d seconds (%ld bytes)\n" , - bcount * num_mb, secs, (long )bcount * blen * num_mb); +pr_cont ("%d operations in %d seconds (%llu bytes)\n" , + bcount * num_mb, secs, (u64 )bcount * blen * num_mb); out:kfree (rc);
@@ -471,8 +471,8 @@ static int test_aead_jiffies(struct aead_request *req, int enc,return ret; } -printk ("%d operations in %d seconds (%ld bytes)\n" , - bcount, secs, (long )bcount * blen); +pr_cont ("%d operations in %d seconds (%llu bytes)\n" , + bcount, secs, (u64 )bcount * blen);return 0 ; }
@@ -764,8 +764,8 @@ static int test_mb_ahash_jiffies(struct test_mb_ahash_data *data, int blen, goto out; } -pr_cont ("%d operations in %d seconds (%ld bytes)\n" , - bcount * num_mb, secs, (long )bcount * blen * num_mb); +pr_cont ("%d operations in %d seconds (%llu bytes)\n" , + bcount * num_mb, secs, (u64 )bcount * blen * num_mb); out:kfree (rc);
@@ -1201,8 +1201,8 @@ static int test_mb_acipher_jiffies(struct test_mb_skcipher_data *data, int enc, goto out; } -pr_cont ("%d operations in %d seconds (%ld bytes)\n" , - bcount * num_mb, secs, (long )bcount * blen * num_mb); +pr_cont ("%d operations in %d seconds (%llu bytes)\n" , + bcount * num_mb, secs, (u64 )bcount * blen * num_mb); out:kfree (rc);
@@ -1441,8 +1441,8 @@ static int test_acipher_jiffies(struct skcipher_request *req, int enc,return ret; } -pr_cont ("%d operations in %d seconds (%ld bytes)\n" , - bcount, secs, (long )bcount * blen); +pr_cont ("%d operations in %d seconds (%llu bytes)\n" , + bcount, secs, (u64 )bcount * blen);return 0 ; }
Signature · 1 line
2.17.1
Herbert Xu
maintainerQuoted 5 lines · Ard Biesheuvel
The signed long type used for printing the number of bytes processed in tcrypt benchmarks limits the range to -/+ 2 GiB, which is not sufficient to cover the performance of common accelerated ciphers such as AES-NI when benchmarked with sec=1. So switch to u64 instead.
Quoted 7 lines
While at it, fix up a missing
printk->pr_contconversion in the AEAD benchmark.Signed-off-by Ard Biesheuvel <[email protected]>--- crypto/tcrypt.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt