rblkcipher.max_keysize = alg->cra_ablkcipher.max_keysize;
        rblkcipher.ivsize = alg->cra_ablkcipher.ivsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_BLKCIPHER,
-               sizeof(struct crypto_report_blkcipher), &rblkcipher);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_BLKCIPHER,
+                   sizeof(struct crypto_report_blkcipher), &rblkcipher))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
        rblkcipher.max_keysize = alg->cra_ablkcipher.max_keysize;
        rblkcipher.ivsize = alg->cra_ablkcipher.ivsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_BLKCIPHER,
-               sizeof(struct crypto_report_blkcipher), &rblkcipher);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_BLKCIPHER,
+                   sizeof(struct crypto_report_blkcipher), &rblkcipher))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
        raead.maxauthsize = aead->maxauthsize;
        raead.ivsize = aead->ivsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_AEAD,
-               sizeof(struct crypto_report_aead), &raead);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_AEAD,
+                   sizeof(struct crypto_report_aead), &raead))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
        raead.maxauthsize = aead->maxauthsize;
        raead.ivsize = aead->ivsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_AEAD,
-               sizeof(struct crypto_report_aead), &raead);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_AEAD,
+                   sizeof(struct crypto_report_aead), &raead))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
        rhash.blocksize = alg->cra_blocksize;
        rhash.digestsize = __crypto_hash_alg_common(alg)->digestsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_HASH,
-               sizeof(struct crypto_report_hash), &rhash);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_HASH,
+                   sizeof(struct crypto_report_hash), &rhash))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
        rblkcipher.max_keysize = alg->cra_blkcipher.max_keysize;
        rblkcipher.ivsize = alg->cra_blkcipher.ivsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_BLKCIPHER,
-               sizeof(struct crypto_report_blkcipher), &rblkcipher);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_BLKCIPHER,
+                   sizeof(struct crypto_report_blkcipher), &rblkcipher))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
        rcipher.min_keysize = alg->cra_cipher.cia_min_keysize;
        rcipher.max_keysize = alg->cra_cipher.cia_max_keysize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_CIPHER,
-               sizeof(struct crypto_report_cipher), &rcipher);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_CIPHER,
+                   sizeof(struct crypto_report_cipher), &rcipher))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
        snprintf(rcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "compression");
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_COMPRESS,
-               sizeof(struct crypto_report_comp), &rcomp);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS,
+                   sizeof(struct crypto_report_comp), &rcomp))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
        ualg->cru_flags = alg->cra_flags;
        ualg->cru_refcnt = atomic_read(&alg->cra_refcnt);
 
-       NLA_PUT_U32(skb, CRYPTOCFGA_PRIORITY_VAL, alg->cra_priority);
-
+       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;
 
                snprintf(rl.type, CRYPTO_MAX_ALG_NAME, "%s", "larval");
 
-               NLA_PUT(skb, CRYPTOCFGA_REPORT_LARVAL,
-                       sizeof(struct crypto_report_larval), &rl);
-
+               if (nla_put(skb, CRYPTOCFGA_REPORT_LARVAL,
+                           sizeof(struct crypto_report_larval), &rl))
+                       goto nla_put_failure;
                goto out;
        }
 
 
 
        snprintf(rpcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "pcomp");
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_COMPRESS,
-               sizeof(struct crypto_report_comp), &rpcomp);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS,
+                   sizeof(struct crypto_report_comp), &rpcomp))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
 
        rrng.seedsize = alg->cra_rng.seedsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_RNG,
-               sizeof(struct crypto_report_rng), &rrng);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_RNG,
+                   sizeof(struct crypto_report_rng), &rrng))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
 
        rhash.blocksize = alg->cra_blocksize;
        rhash.digestsize = salg->digestsize;
 
-       NLA_PUT(skb, CRYPTOCFGA_REPORT_HASH,
-               sizeof(struct crypto_report_hash), &rhash);
-
+       if (nla_put(skb, CRYPTOCFGA_REPORT_HASH,
+                   sizeof(struct crypto_report_hash), &rhash))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure: