]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: api - use designated initializers for report structs
authorThorsten Blum <thorsten.blum@linux.dev>
Fri, 8 May 2026 10:57:17 +0000 (12:57 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 15 May 2026 10:08:48 +0000 (18:08 +0800)
Use designated initializers for the report structs instead of clearing
the struct with memset() and then copying fixed strings with strscpy()
at runtime.

This keeps the structs zero-initialized, lets the compiler diagnose
oversized string literals, and makes the code easier to read.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
12 files changed:
crypto/acompress.c
crypto/aead.c
crypto/ahash.c
crypto/akcipher.c
crypto/crypto_user.c
crypto/kpp.c
crypto/lskcipher.c
crypto/rng.c
crypto/scompress.c
crypto/shash.c
crypto/sig.c
crypto/skcipher.c

index 6025c1acce4910bce1983149b2f17e2dc3439159..032de704eb2ca97005a8e15cd4d1586243f9f446 100644 (file)
@@ -51,11 +51,9 @@ static inline struct acomp_alg *crypto_acomp_alg(struct crypto_acomp *tfm)
 static int __maybe_unused crypto_acomp_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_acomp racomp;
-
-       memset(&racomp, 0, sizeof(racomp));
-
-       strscpy(racomp.type, "acomp", sizeof(racomp.type));
+       struct crypto_report_acomp racomp = {
+               .type = "acomp",
+       };
 
        return nla_put(skb, CRYPTOCFGA_REPORT_ACOMP, sizeof(racomp), &racomp);
 }
index e009937bf3a5d946e1de31257131940b2bc636fe..045b74c3779f4527b2e7c064af0ec77f4a81ec00 100644 (file)
@@ -136,13 +136,11 @@ static int crypto_aead_init_tfm(struct crypto_tfm *tfm)
 static int __maybe_unused crypto_aead_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_aead raead;
        struct aead_alg *aead = container_of(alg, struct aead_alg, base);
-
-       memset(&raead, 0, sizeof(raead));
-
-       strscpy(raead.type, "aead", sizeof(raead.type));
-       strscpy(raead.geniv, "<none>", sizeof(raead.geniv));
+       struct crypto_report_aead raead = {
+               .type = "aead",
+               .geniv = "<none>",
+       };
 
        raead.blocksize = alg->cra_blocksize;
        raead.maxauthsize = aead->maxauthsize;
index 7a730324c50e2858a44f99affa03100936dca862..dd56b0e45c0dbba66efd6c423e8fc4dfa107878e 100644 (file)
@@ -789,11 +789,9 @@ static void crypto_ahash_free_instance(struct crypto_instance *inst)
 static int __maybe_unused crypto_ahash_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_hash rhash;
-
-       memset(&rhash, 0, sizeof(rhash));
-
-       strscpy(rhash.type, "ahash", sizeof(rhash.type));
+       struct crypto_report_hash rhash = {
+               .type = "ahash",
+       };
 
        rhash.blocksize = alg->cra_blocksize;
        rhash.digestsize = __crypto_hash_alg_common(alg)->digestsize;
index dfe87b3ce1837791258cb351a68368b305021a01..630bb19738beb53615b3f0a7e8bf9d5200c0d7e8 100644 (file)
@@ -36,11 +36,9 @@ struct crypto_akcipher_sync_data {
 static int __maybe_unused crypto_akcipher_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_akcipher rakcipher;
-
-       memset(&rakcipher, 0, sizeof(rakcipher));
-
-       strscpy(rakcipher.type, "akcipher", sizeof(rakcipher.type));
+       struct crypto_report_akcipher rakcipher = {
+               .type = "akcipher",
+       };
 
        return nla_put(skb, CRYPTOCFGA_REPORT_AKCIPHER,
                       sizeof(rakcipher), &rakcipher);
index 3187e0d276f90e852c2df08c771f3ebf08177261..e8b6ae75f31f794b45cd706d41fcf3ac050c2a3a 100644 (file)
@@ -70,11 +70,9 @@ static struct crypto_alg *crypto_alg_match(struct crypto_user_alg *p, int exact)
 
 static int crypto_report_cipher(struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_cipher rcipher;
-
-       memset(&rcipher, 0, sizeof(rcipher));
-
-       strscpy(rcipher.type, "cipher", sizeof(rcipher.type));
+       struct crypto_report_cipher rcipher = {
+               .type = "cipher",
+       };
 
        rcipher.blocksize = alg->cra_blocksize;
        rcipher.min_keysize = alg->cra_cipher.cia_min_keysize;
@@ -103,10 +101,10 @@ static int crypto_report_one(struct crypto_alg *alg,
        if (nla_put_u32(skb, CRYPTOCFGA_PRIORITY_VAL, alg->cra_priority))
                goto nla_put_failure;
        if (alg->cra_flags & CRYPTO_ALG_LARVAL) {
-               struct crypto_report_larval rl;
+               struct crypto_report_larval rl = {
+                       .type = "larval",
+               };
 
-               memset(&rl, 0, sizeof(rl));
-               strscpy(rl.type, "larval", sizeof(rl.type));
                if (nla_put(skb, CRYPTOCFGA_REPORT_LARVAL, sizeof(rl), &rl))
                        goto nla_put_failure;
                goto out;
index 7451d39a7ad8b380b660440600d5b98fcba0ed15..522c352a03afcc4157346b877c848b7b93345972 100644 (file)
 static int __maybe_unused crypto_kpp_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_kpp rkpp;
-
-       memset(&rkpp, 0, sizeof(rkpp));
-
-       strscpy(rkpp.type, "kpp", sizeof(rkpp.type));
+       struct crypto_report_kpp rkpp = {
+               .type = "kpp",
+       };
 
        return nla_put(skb, CRYPTOCFGA_REPORT_KPP, sizeof(rkpp), &rkpp);
 }
index bb166250b732718db57208b9956745a91633a1b7..e4328df6e26c05bd049f6cf07d2854449a7cb8c4 100644 (file)
@@ -264,12 +264,10 @@ static int __maybe_unused crypto_lskcipher_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
        struct lskcipher_alg *skcipher = __crypto_lskcipher_alg(alg);
-       struct crypto_report_blkcipher rblkcipher;
-
-       memset(&rblkcipher, 0, sizeof(rblkcipher));
-
-       strscpy(rblkcipher.type, "lskcipher", sizeof(rblkcipher.type));
-       strscpy(rblkcipher.geniv, "<none>", sizeof(rblkcipher.geniv));
+       struct crypto_report_blkcipher rblkcipher = {
+               .type = "lskcipher",
+               .geniv = "<none>",
+       };
 
        rblkcipher.blocksize = alg->cra_blocksize;
        rblkcipher.min_keysize = skcipher->co.min_keysize;
index 1d4b9177bad4d4a8f163040e6ec2f988aa3ea501..eec786c45bdd81943af16ce3c87cefabe18ed05e 100644 (file)
@@ -65,11 +65,9 @@ static unsigned int seedsize(struct crypto_alg *alg)
 static int __maybe_unused crypto_rng_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_rng rrng;
-
-       memset(&rrng, 0, sizeof(rrng));
-
-       strscpy(rrng.type, "rng", sizeof(rrng.type));
+       struct crypto_report_rng rrng = {
+               .type = "rng",
+       };
 
        rrng.seedsize = seedsize(alg);
 
index 253655ece83fd0e324e01ac5cd33e4df3af5ad0c..de54227203ce96a095f4fd2a76c2309a5e00d0b9 100644 (file)
@@ -48,11 +48,9 @@ static DECLARE_WORK(scomp_scratch_work, scomp_scratch_workfn);
 static int __maybe_unused crypto_scomp_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_comp rscomp;
-
-       memset(&rscomp, 0, sizeof(rscomp));
-
-       strscpy(rscomp.type, "scomp", sizeof(rscomp.type));
+       struct crypto_report_comp rscomp = {
+               .type = "scomp",
+       };
 
        return nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS,
                       sizeof(rscomp), &rscomp);
index 2f07d0bd1f61b62e14941316061b4bae866c9322..d31a65570f69662f7471565adca365d7eb7cdf65 100644 (file)
@@ -333,12 +333,10 @@ static void crypto_shash_free_instance(struct crypto_instance *inst)
 static int __maybe_unused crypto_shash_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
-       struct crypto_report_hash rhash;
        struct shash_alg *salg = __crypto_shash_alg(alg);
-
-       memset(&rhash, 0, sizeof(rhash));
-
-       strscpy(rhash.type, "shash", sizeof(rhash.type));
+       struct crypto_report_hash rhash = {
+               .type = "shash",
+       };
 
        rhash.blocksize = alg->cra_blocksize;
        rhash.digestsize = salg->digestsize;
index beba745b640575a12c7c7a5e9f9a764f9c4ce4ec..7d2048da5c3af36af0bb144325b2654a0a7634db 100644 (file)
@@ -53,9 +53,9 @@ static void __maybe_unused crypto_sig_show(struct seq_file *m,
 static int __maybe_unused crypto_sig_report(struct sk_buff *skb,
                                            struct crypto_alg *alg)
 {
-       struct crypto_report_sig rsig = {};
-
-       strscpy(rsig.type, "sig", sizeof(rsig.type));
+       struct crypto_report_sig rsig = {
+               .type = "sig",
+       };
 
        return nla_put(skb, CRYPTOCFGA_REPORT_SIG, sizeof(rsig), &rsig);
 }
index 2b31d1d5d268b491259712c393369c921eee271b..617e840432b175c1ef979d0c9f621c9ef1258dae 100644 (file)
@@ -591,12 +591,10 @@ static int __maybe_unused crypto_skcipher_report(
        struct sk_buff *skb, struct crypto_alg *alg)
 {
        struct skcipher_alg *skcipher = __crypto_skcipher_alg(alg);
-       struct crypto_report_blkcipher rblkcipher;
-
-       memset(&rblkcipher, 0, sizeof(rblkcipher));
-
-       strscpy(rblkcipher.type, "skcipher", sizeof(rblkcipher.type));
-       strscpy(rblkcipher.geniv, "<none>", sizeof(rblkcipher.geniv));
+       struct crypto_report_blkcipher rblkcipher = {
+               .type = "skcipher",
+               .geniv = "<none>",
+       };
 
        rblkcipher.blocksize = alg->cra_blocksize;
        rblkcipher.min_keysize = skcipher->min_keysize;