summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2018-07-13 16:12:32 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-08-06 16:23:04 +0200
commit804f510bf2182da8bdbe0135538c8f3f14670a67 (patch)
tree9d1a82b081a26365a979ef83a7bbacce2e57e667 /drivers/gpu
parent020a90f653dd02dbbae389da91f510d5f33984dc (diff)
crypto: padlock-aes - Fix Nano workaround data corruption
commit 46d8c4b28652d35dc6cfb5adf7f54e102fc04384 upstream. This was detected by the self-test thanks to Ard's chunking patch. I finally got around to testing this out on my ancient Via box. It turns out that the workaround got the assembly wrong and we end up doing count + initial cycles of the loop instead of just count. This obviously causes corruption, either by overwriting the source that is yet to be processed, or writing over the end of the buffer. On CPUs that don't require the workaround only ECB is affected. On Nano CPUs both ECB and CBC are affected. This patch fixes it by doing the subtraction prior to the assembly. Fixes: a76c1c23d0c3 ("crypto: padlock-aes - work around Nano CPU...") Cc: <stable@vger.kernel.org> Reported-by: Jamie Heilman <jamie@audible.transient.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpu')
0 files changed, 0 insertions, 0 deletions