]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: tcrypt - clamp num_mb to avoid divide-by-zero
authorSaeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
Mon, 2 Mar 2026 23:59:14 +0000 (15:59 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 14 Mar 2026 05:03:19 +0000 (14:03 +0900)
Passing num_mb=0 to the multibuffer speed tests leaves test_mb_aead_cycles()
and test_mb_acipher_cycles() dividing by (8 * num_mb). With sec=0 (the
default), the module prints "1 operation in ..." and hits a divide-by-zero
fault.

Force num_mb to at least 1 during module init and warn the caller so the
warm-up loop and the final report stay well-defined.

To reproduce:
sudo modprobe tcrypt mode=600 num_mb=0

Signed-off-by: Saeed Mirzamohammadi <saeed.mirzamohammadi@oracle.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/tcrypt.c

index aded37546137419594b8aad1464a1442fb817e4b..61c8cf55c4f1e3024c2e1c33b87b478a28219510 100644 (file)
@@ -2808,6 +2808,11 @@ static int __init tcrypt_mod_init(void)
                        goto err_free_tv;
        }
 
+       if (!num_mb) {
+               pr_warn("num_mb must be at least 1; forcing to 1\n");
+               num_mb = 1;
+       }
+
        err = do_test(alg, type, mask, mode, num_mb);
 
        if (err) {