Commit 031f5e00 authored by Tudor Ambarus's avatar Tudor Ambarus Committed by Herbert Xu
Browse files

crypto: atmel-tdes - Add FIPS81's zero length cryptlen constraint



FIPS81 requires for the ECB, CBC, CFB, and OFB modes that the
plaintext and ciphertext to have a positive integer length.
Add this constraint and just return 0 for a zero length cryptlen.

Signed-off-by: default avatarTudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 0d043359
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -682,6 +682,9 @@ static int atmel_tdes_crypt(struct skcipher_request *req, unsigned long mode)
	struct atmel_tdes_reqctx *rctx = skcipher_request_ctx(req);
	struct device *dev = ctx->dd->dev;

	if (!req->cryptlen)
		return 0;

	switch (mode & TDES_FLAGS_OPMODE_MASK) {
	case TDES_FLAGS_CFB8:
		if (!IS_ALIGNED(req->cryptlen, CFB8_BLOCK_SIZE)) {