]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
crypto: pcbc - remove bogus memcpy()s with src == dest
authorEric Biggers <ebiggers@google.com>
Fri, 4 Jan 2019 04:16:13 +0000 (20:16 -0800)
committerSeth Forshee <seth.forshee@canonical.com>
Mon, 25 Mar 2019 15:44:53 +0000 (10:44 -0500)
commit98ff70298143d744a59b726d2b74851be4b9064f
tree2558a1304efda66b334a5a0eaa27f311c924ea70
parent45134911896a07eea274967b634233d017250e48
crypto: pcbc - remove bogus memcpy()s with src == dest

BugLink: https://bugs.launchpad.net/bugs/1821607
commit 251b7aea34ba3c4d4fdfa9447695642eb8b8b098 upstream.

The memcpy()s in the PCBC implementation use walk->iv as both the source
and destination, which has undefined behavior.  These memcpy()'s are
actually unneeded, because walk->iv is already used to hold the previous
plaintext block XOR'd with the previous ciphertext block.  Thus,
walk->iv is already updated to its final value.

So remove the broken and unnecessary memcpy()s.

Fixes: 91652be5d1b9 ("[CRYPTO] pcbc: Add Propagated CBC template")
Cc: <stable@vger.kernel.org> # v2.6.21+
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
crypto/pcbc.c