mirror of https://gitee.com/openkylin/linux.git
crypto: atmel-aes - check alignment of cfb64 mode
The length shoule be 64 bit alignment and the block size shoule be 64 bit in aes cfb64 mode. Signed-off-by: Leilei Zhao <leilei.zhao@atmel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
e5d8c961c5
commit
9f84951fc6
|
@ -716,6 +716,12 @@ static int atmel_aes_crypt(struct ablkcipher_request *req, unsigned long mode)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
ctx->block_size = CFB32_BLOCK_SIZE;
|
ctx->block_size = CFB32_BLOCK_SIZE;
|
||||||
|
} else if (mode & AES_FLAGS_CFB64) {
|
||||||
|
if (!IS_ALIGNED(req->nbytes, CFB64_BLOCK_SIZE)) {
|
||||||
|
pr_err("request size is not exact amount of CFB64 blocks\n");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
ctx->block_size = CFB64_BLOCK_SIZE;
|
||||||
} else {
|
} else {
|
||||||
if (!IS_ALIGNED(req->nbytes, AES_BLOCK_SIZE)) {
|
if (!IS_ALIGNED(req->nbytes, AES_BLOCK_SIZE)) {
|
||||||
pr_err("request size is not exact amount of AES blocks\n");
|
pr_err("request size is not exact amount of AES blocks\n");
|
||||||
|
|
Loading…
Reference in New Issue