Merge tag 'for-linus-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw...
[platform/kernel/linux-starfive.git] / crypto / testmgr.c
index 5349ffe..e4bb03b 100644 (file)
@@ -3322,7 +3322,7 @@ out:
 }
 
 static int test_acomp(struct crypto_acomp *tfm,
-                             const struct comp_testvec *ctemplate,
+                     const struct comp_testvec *ctemplate,
                      const struct comp_testvec *dtemplate,
                      int ctcount, int dtcount)
 {
@@ -3417,6 +3417,21 @@ static int test_acomp(struct crypto_acomp *tfm,
                        goto out;
                }
 
+#ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
+               crypto_init_wait(&wait);
+               sg_init_one(&src, input_vec, ilen);
+               acomp_request_set_params(req, &src, NULL, ilen, 0);
+
+               ret = crypto_wait_req(crypto_acomp_compress(req), &wait);
+               if (ret) {
+                       pr_err("alg: acomp: compression failed on NULL dst buffer test %d for %s: ret=%d\n",
+                              i + 1, algo, -ret);
+                       kfree(input_vec);
+                       acomp_request_free(req);
+                       goto out;
+               }
+#endif
+
                kfree(input_vec);
                acomp_request_free(req);
        }
@@ -3478,6 +3493,20 @@ static int test_acomp(struct crypto_acomp *tfm,
                        goto out;
                }
 
+#ifdef CONFIG_CRYPTO_MANAGER_EXTRA_TESTS
+               crypto_init_wait(&wait);
+               acomp_request_set_params(req, &src, NULL, ilen, 0);
+
+               ret = crypto_wait_req(crypto_acomp_decompress(req), &wait);
+               if (ret) {
+                       pr_err("alg: acomp: decompression failed on NULL dst buffer test %d for %s: ret=%d\n",
+                              i + 1, algo, -ret);
+                       kfree(input_vec);
+                       acomp_request_free(req);
+                       goto out;
+               }
+#endif
+
                kfree(input_vec);
                acomp_request_free(req);
        }
@@ -5801,8 +5830,11 @@ test_done:
                              driver, alg,
                              fips_enabled ? "fips" : "panic_on_fail");
                }
-               WARN(1, "alg: self-tests for %s (%s) failed (rc=%d)",
-                    driver, alg, rc);
+               pr_warn("alg: self-tests for %s using %s failed (rc=%d)",
+                       alg, driver, rc);
+               WARN(rc != -ENOENT,
+                    "alg: self-tests for %s using %s failed (rc=%d)",
+                    alg, driver, rc);
        } else {
                if (fips_enabled)
                        pr_info("alg: self-tests for %s (%s) passed\n",