]> git.itanic.dy.fi Git - linux-stable/commit
crypto: crypto4xx - block ciphers should only accept complete blocks
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 18 May 2019 21:28:12 +0000 (23:28 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 23 May 2019 06:13:09 +0000 (14:13 +0800)
commit0f7a81374060828280fcfdfbaa162cb559017f9f
tree56c4516b45a46ca20346d6b22fef3cc3ae3f95a0
parent70c4997f34b6c6888b3ac157adec49e01d0df2d5
crypto: crypto4xx - block ciphers should only accept complete blocks

The hardware automatically zero pads incomplete block ciphers
blocks without raising any errors. This is a screw-up. This
was noticed by CONFIG_CRYPTO_MANAGER_EXTRA_TESTS tests that
sent a incomplete blocks and expect them to fail.

This fixes:
cbc-aes-ppc4xx encryption unexpectedly succeeded on test vector
"random: len=2409 klen=32"; expected_error=-22, cfg="random:
may_sleep use_digest src_divs=[96.90%@+2295, 2.34%@+4066,
0.32%@alignmask+12, 0.34%@+4087, 0.9%@alignmask+1787, 0.1%@+3767]
iv_offset=6"

ecb-aes-ppc4xx encryption unexpectedly succeeded on test vector
"random: len=1011 klen=32"; expected_error=-22, cfg="random:
may_sleep use_digest src_divs=[100.0%@alignmask+20]
dst_divs=[3.12%@+3001, 96.88%@+4070]"

Cc: Eric Biggers <ebiggers@kernel.org>
Cc: stable@vger.kernel.org [4.19, 5.0 and 5.1]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/amcc/crypto4xx_alg.c
drivers/crypto/amcc/crypto4xx_core.c
drivers/crypto/amcc/crypto4xx_core.h