Skip to content

Commit 6f6fc39

Browse files
committedOct 16, 2024
Merge tag 'v6.12-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu: - Remove bogus testmgr ENOENT error messages - Ensure algorithm is still alive before marking it as tested - Disable buggy hash algorithms in marvell/cesa * tag 'v6.12-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: marvell/cesa - Disable hash algorithms crypto: testmgr - Hide ENOENT errors better crypto: api - Fix liveliness check in crypto_alg_tested
2 parents dff6584 + e845d23 commit 6f6fc39

File tree

3 files changed

+18
-19
lines changed

3 files changed

+18
-19
lines changed
 

‎crypto/algapi.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ void crypto_alg_tested(const char *name, int err)
373373
q->cra_flags |= CRYPTO_ALG_DEAD;
374374
alg = test->adult;
375375

376-
if (list_empty(&alg->cra_list))
376+
if (crypto_is_dead(alg))
377377
goto complete;
378378

379379
if (err == -ECANCELED)

‎crypto/testmgr.c

+11-12
Original file line numberDiff line numberDiff line change
@@ -1940,7 +1940,7 @@ static int __alg_test_hash(const struct hash_testvec *vecs,
19401940
atfm = crypto_alloc_ahash(driver, type, mask);
19411941
if (IS_ERR(atfm)) {
19421942
if (PTR_ERR(atfm) == -ENOENT)
1943-
return -ENOENT;
1943+
return 0;
19441944
pr_err("alg: hash: failed to allocate transform for %s: %ld\n",
19451945
driver, PTR_ERR(atfm));
19461946
return PTR_ERR(atfm);
@@ -2706,7 +2706,7 @@ static int alg_test_aead(const struct alg_test_desc *desc, const char *driver,
27062706
tfm = crypto_alloc_aead(driver, type, mask);
27072707
if (IS_ERR(tfm)) {
27082708
if (PTR_ERR(tfm) == -ENOENT)
2709-
return -ENOENT;
2709+
return 0;
27102710
pr_err("alg: aead: failed to allocate transform for %s: %ld\n",
27112711
driver, PTR_ERR(tfm));
27122712
return PTR_ERR(tfm);
@@ -3285,7 +3285,7 @@ static int alg_test_skcipher(const struct alg_test_desc *desc,
32853285
tfm = crypto_alloc_skcipher(driver, type, mask);
32863286
if (IS_ERR(tfm)) {
32873287
if (PTR_ERR(tfm) == -ENOENT)
3288-
return -ENOENT;
3288+
return 0;
32893289
pr_err("alg: skcipher: failed to allocate transform for %s: %ld\n",
32903290
driver, PTR_ERR(tfm));
32913291
return PTR_ERR(tfm);
@@ -3700,7 +3700,7 @@ static int alg_test_cipher(const struct alg_test_desc *desc,
37003700
tfm = crypto_alloc_cipher(driver, type, mask);
37013701
if (IS_ERR(tfm)) {
37023702
if (PTR_ERR(tfm) == -ENOENT)
3703-
return -ENOENT;
3703+
return 0;
37043704
printk(KERN_ERR "alg: cipher: Failed to load transform for "
37053705
"%s: %ld\n", driver, PTR_ERR(tfm));
37063706
return PTR_ERR(tfm);
@@ -3726,7 +3726,7 @@ static int alg_test_comp(const struct alg_test_desc *desc, const char *driver,
37263726
acomp = crypto_alloc_acomp(driver, type, mask);
37273727
if (IS_ERR(acomp)) {
37283728
if (PTR_ERR(acomp) == -ENOENT)
3729-
return -ENOENT;
3729+
return 0;
37303730
pr_err("alg: acomp: Failed to load transform for %s: %ld\n",
37313731
driver, PTR_ERR(acomp));
37323732
return PTR_ERR(acomp);
@@ -3740,7 +3740,7 @@ static int alg_test_comp(const struct alg_test_desc *desc, const char *driver,
37403740
comp = crypto_alloc_comp(driver, type, mask);
37413741
if (IS_ERR(comp)) {
37423742
if (PTR_ERR(comp) == -ENOENT)
3743-
return -ENOENT;
3743+
return 0;
37443744
pr_err("alg: comp: Failed to load transform for %s: %ld\n",
37453745
driver, PTR_ERR(comp));
37463746
return PTR_ERR(comp);
@@ -3818,7 +3818,7 @@ static int alg_test_cprng(const struct alg_test_desc *desc, const char *driver,
38183818
rng = crypto_alloc_rng(driver, type, mask);
38193819
if (IS_ERR(rng)) {
38203820
if (PTR_ERR(rng) == -ENOENT)
3821-
return -ENOENT;
3821+
return 0;
38223822
printk(KERN_ERR "alg: cprng: Failed to load transform for %s: "
38233823
"%ld\n", driver, PTR_ERR(rng));
38243824
return PTR_ERR(rng);
@@ -3846,12 +3846,11 @@ static int drbg_cavs_test(const struct drbg_testvec *test, int pr,
38463846

38473847
drng = crypto_alloc_rng(driver, type, mask);
38483848
if (IS_ERR(drng)) {
3849+
kfree_sensitive(buf);
38493850
if (PTR_ERR(drng) == -ENOENT)
3850-
goto out_no_rng;
3851+
return 0;
38513852
printk(KERN_ERR "alg: drbg: could not allocate DRNG handle for "
38523853
"%s\n", driver);
3853-
out_no_rng:
3854-
kfree_sensitive(buf);
38553854
return PTR_ERR(drng);
38563855
}
38573856

@@ -4095,7 +4094,7 @@ static int alg_test_kpp(const struct alg_test_desc *desc, const char *driver,
40954094
tfm = crypto_alloc_kpp(driver, type, mask);
40964095
if (IS_ERR(tfm)) {
40974096
if (PTR_ERR(tfm) == -ENOENT)
4098-
return -ENOENT;
4097+
return 0;
40994098
pr_err("alg: kpp: Failed to load tfm for %s: %ld\n",
41004099
driver, PTR_ERR(tfm));
41014100
return PTR_ERR(tfm);
@@ -4325,7 +4324,7 @@ static int alg_test_akcipher(const struct alg_test_desc *desc,
43254324
tfm = crypto_alloc_akcipher(driver, type, mask);
43264325
if (IS_ERR(tfm)) {
43274326
if (PTR_ERR(tfm) == -ENOENT)
4328-
return -ENOENT;
4327+
return 0;
43294328
pr_err("alg: akcipher: Failed to load tfm for %s: %ld\n",
43304329
driver, PTR_ERR(tfm));
43314330
return PTR_ERR(tfm);

‎drivers/crypto/marvell/cesa/hash.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,7 @@ struct ahash_alg mv_md5_alg = {
947947
.base = {
948948
.cra_name = "md5",
949949
.cra_driver_name = "mv-md5",
950-
.cra_priority = 300,
950+
.cra_priority = 0,
951951
.cra_flags = CRYPTO_ALG_ASYNC |
952952
CRYPTO_ALG_ALLOCATES_MEMORY |
953953
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1018,7 +1018,7 @@ struct ahash_alg mv_sha1_alg = {
10181018
.base = {
10191019
.cra_name = "sha1",
10201020
.cra_driver_name = "mv-sha1",
1021-
.cra_priority = 300,
1021+
.cra_priority = 0,
10221022
.cra_flags = CRYPTO_ALG_ASYNC |
10231023
CRYPTO_ALG_ALLOCATES_MEMORY |
10241024
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1092,7 +1092,7 @@ struct ahash_alg mv_sha256_alg = {
10921092
.base = {
10931093
.cra_name = "sha256",
10941094
.cra_driver_name = "mv-sha256",
1095-
.cra_priority = 300,
1095+
.cra_priority = 0,
10961096
.cra_flags = CRYPTO_ALG_ASYNC |
10971097
CRYPTO_ALG_ALLOCATES_MEMORY |
10981098
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1302,7 +1302,7 @@ struct ahash_alg mv_ahmac_md5_alg = {
13021302
.base = {
13031303
.cra_name = "hmac(md5)",
13041304
.cra_driver_name = "mv-hmac-md5",
1305-
.cra_priority = 300,
1305+
.cra_priority = 0,
13061306
.cra_flags = CRYPTO_ALG_ASYNC |
13071307
CRYPTO_ALG_ALLOCATES_MEMORY |
13081308
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1373,7 +1373,7 @@ struct ahash_alg mv_ahmac_sha1_alg = {
13731373
.base = {
13741374
.cra_name = "hmac(sha1)",
13751375
.cra_driver_name = "mv-hmac-sha1",
1376-
.cra_priority = 300,
1376+
.cra_priority = 0,
13771377
.cra_flags = CRYPTO_ALG_ASYNC |
13781378
CRYPTO_ALG_ALLOCATES_MEMORY |
13791379
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1444,7 +1444,7 @@ struct ahash_alg mv_ahmac_sha256_alg = {
14441444
.base = {
14451445
.cra_name = "hmac(sha256)",
14461446
.cra_driver_name = "mv-hmac-sha256",
1447-
.cra_priority = 300,
1447+
.cra_priority = 0,
14481448
.cra_flags = CRYPTO_ALG_ASYNC |
14491449
CRYPTO_ALG_ALLOCATES_MEMORY |
14501450
CRYPTO_ALG_KERN_DRIVER_ONLY,

0 commit comments

Comments
 (0)
Please sign in to comment.