]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: pkcs7 - Fix unaligned access in pkcs7_verify()
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Tue, 13 Oct 2015 14:54:01 +0000 (10:54 -0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 14 Oct 2015 14:23:38 +0000 (22:23 +0800)
commit3e6d7143d62fa73b3c0979714cbe40338030e16d
treee1db73de0c2d95dff6ce1e43909662a31ccc1f99
parent39e3e0d714aecb12f7159f778a0fb44469f41022
crypto: pkcs7 - Fix unaligned access in pkcs7_verify()

On sparc, we see unaligned access messages on each modprobe[-r]:

Kernel unaligned access at TPC[6ad9b4] pkcs7_verify [..]
Kernel unaligned access at TPC[6a5484] crypto_shash_finup [..]
Kernel unaligned access at TPC[6a5390] crypto_shash_update [..]
Kernel unaligned access at TPC[10150308] sha1_sparc64_update [..]
Kernel unaligned access at TPC[101501ac] __sha1_sparc64_update [..]

These ware triggered by mod_verify_sig() invocations of pkcs_verify(), and
are are being caused by an unaligned desc at (sha1, digest_size is 0x14)
        desc = digest + digest_size;

To fix this, pkcs7_verify needs to make sure that desc is pointing
at an aligned value past the digest_size, and kzalloc appropriately,
taking alignment values into consideration.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/asymmetric_keys/pkcs7_verify.c