Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[sfrench/cifs-2.6.git] / arch / s390 / crypto / aes_s390.c
index d4f6fd42a105074168186103b233b66ace477551..9803e96d29247e862f14dff26afbd7b1bb733b74 100644 (file)
@@ -586,6 +586,9 @@ static int xts_aes_encrypt(struct blkcipher_desc *desc,
        struct s390_xts_ctx *xts_ctx = crypto_blkcipher_ctx(desc->tfm);
        struct blkcipher_walk walk;
 
+       if (!nbytes)
+               return -EINVAL;
+
        if (unlikely(!xts_ctx->fc || (nbytes % XTS_BLOCK_SIZE) != 0))
                return xts_fallback_encrypt(desc, dst, src, nbytes);
 
@@ -600,6 +603,9 @@ static int xts_aes_decrypt(struct blkcipher_desc *desc,
        struct s390_xts_ctx *xts_ctx = crypto_blkcipher_ctx(desc->tfm);
        struct blkcipher_walk walk;
 
+       if (!nbytes)
+               return -EINVAL;
+
        if (unlikely(!xts_ctx->fc || (nbytes % XTS_BLOCK_SIZE) != 0))
                return xts_fallback_decrypt(desc, dst, src, nbytes);