diff options
author | Eric Biggers <ebiggers@google.com> | 2019-06-03 01:42:33 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-06-13 02:31:40 -0400 |
commit | e63e1b0dd0003dc31f73d875907432be3a2abe5d (patch) | |
tree | d167cb48490dd9b76c1b0cd2921429df97153fda /crypto/testmgr.c | |
parent | 177f87d063ebc7a11a38bdafaca8fec4a9dae13e (diff) |
crypto: testmgr - add some more preemption points
Call cond_resched() after each fuzz test iteration. This avoids stall
warnings if fuzz_iterations is set very high for testing purposes.
While we're at it, also call cond_resched() after finishing testing each
test vector.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/testmgr.c')
-rw-r--r-- | crypto/testmgr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/crypto/testmgr.c b/crypto/testmgr.c index 2ba0c487ea28..f7fdd7fe89a9 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c | |||
@@ -1496,6 +1496,7 @@ static int test_hash_vec(const char *driver, const struct hash_testvec *vec, | |||
1496 | req, desc, tsgl, hashstate); | 1496 | req, desc, tsgl, hashstate); |
1497 | if (err) | 1497 | if (err) |
1498 | return err; | 1498 | return err; |
1499 | cond_resched(); | ||
1499 | } | 1500 | } |
1500 | } | 1501 | } |
1501 | #endif | 1502 | #endif |
@@ -1764,6 +1765,7 @@ static int __alg_test_hash(const struct hash_testvec *vecs, | |||
1764 | hashstate); | 1765 | hashstate); |
1765 | if (err) | 1766 | if (err) |
1766 | goto out; | 1767 | goto out; |
1768 | cond_resched(); | ||
1767 | } | 1769 | } |
1768 | err = test_hash_vs_generic_impl(driver, generic_driver, maxkeysize, req, | 1770 | err = test_hash_vs_generic_impl(driver, generic_driver, maxkeysize, req, |
1769 | desc, tsgl, hashstate); | 1771 | desc, tsgl, hashstate); |
@@ -2028,6 +2030,7 @@ static int test_aead_vec(const char *driver, int enc, | |||
2028 | &cfg, req, tsgls); | 2030 | &cfg, req, tsgls); |
2029 | if (err) | 2031 | if (err) |
2030 | return err; | 2032 | return err; |
2033 | cond_resched(); | ||
2031 | } | 2034 | } |
2032 | } | 2035 | } |
2033 | #endif | 2036 | #endif |
@@ -2267,6 +2270,7 @@ static int test_aead(const char *driver, int enc, | |||
2267 | tsgls); | 2270 | tsgls); |
2268 | if (err) | 2271 | if (err) |
2269 | return err; | 2272 | return err; |
2273 | cond_resched(); | ||
2270 | } | 2274 | } |
2271 | return 0; | 2275 | return 0; |
2272 | } | 2276 | } |
@@ -2609,6 +2613,7 @@ static int test_skcipher_vec(const char *driver, int enc, | |||
2609 | &cfg, req, tsgls); | 2613 | &cfg, req, tsgls); |
2610 | if (err) | 2614 | if (err) |
2611 | return err; | 2615 | return err; |
2616 | cond_resched(); | ||
2612 | } | 2617 | } |
2613 | } | 2618 | } |
2614 | #endif | 2619 | #endif |
@@ -2808,6 +2813,7 @@ static int test_skcipher(const char *driver, int enc, | |||
2808 | tsgls); | 2813 | tsgls); |
2809 | if (err) | 2814 | if (err) |
2810 | return err; | 2815 | return err; |
2816 | cond_resched(); | ||
2811 | } | 2817 | } |
2812 | return 0; | 2818 | return 0; |
2813 | } | 2819 | } |