From: Ilya Dryomov Date: Mon, 16 Jan 2017 18:16:46 +0000 (+0100) Subject: libceph: make sure ceph_aes_crypt() IV is aligned X-Git-Tag: v4.14-rc1~1666^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=124f930b8cbc4ac11236e6eb1c5f008318864588;p=platform%2Fkernel%2Flinux-rpi3.git libceph: make sure ceph_aes_crypt() IV is aligned ... otherwise the crypto stack will align it for us with a GFP_ATOMIC allocation and a memcpy() -- see skcipher_walk_first(). Signed-off-by: Ilya Dryomov --- diff --git a/net/ceph/crypto.c b/net/ceph/crypto.c index 3949ce7..292e33b 100644 --- a/net/ceph/crypto.c +++ b/net/ceph/crypto.c @@ -214,7 +214,7 @@ static int ceph_aes_crypt(const struct ceph_crypto_key *key, bool encrypt, SKCIPHER_REQUEST_ON_STACK(req, key->tfm); struct sg_table sgt; struct scatterlist prealloc_sg; - char iv[AES_BLOCK_SIZE]; + char iv[AES_BLOCK_SIZE] __aligned(8); int pad_byte = AES_BLOCK_SIZE - (in_len & (AES_BLOCK_SIZE - 1)); int crypt_len = encrypt ? in_len + pad_byte : in_len; int ret;