]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - crypto/asymmetric_keys/x509_public_key.c
crypto: asymmetric_keys - Fix unaligned access in x509_get_sig_params()
[karo-tx-linux.git] / crypto / asymmetric_keys / x509_public_key.c
index 6d88dd15c98da8cada935c0dc937eb5c8db158cd..6451d1848a7d0e19b621157159c01abe130076cf 100644 (file)
@@ -194,14 +194,15 @@ int x509_get_sig_params(struct x509_certificate *cert)
         * digest storage space.
         */
        ret = -ENOMEM;
-       digest = kzalloc(digest_size + desc_size, GFP_KERNEL);
+       digest = kzalloc(ALIGN(digest_size, __alignof__(*desc)) + desc_size,
+                        GFP_KERNEL);
        if (!digest)
                goto error;
 
        cert->sig.digest = digest;
        cert->sig.digest_size = digest_size;
 
-       desc = digest + digest_size;
+       desc = PTR_ALIGN(digest + digest_size, __alignof__(*desc));
        desc->tfm = tfm;
        desc->flags = CRYPTO_TFM_REQ_MAY_SLEEP;