summaryrefslogtreecommitdiff
path: root/arch/s390
diff options
context:
space:
mode:
authorIngo Franzki <ifranzki@linux.ibm.com>2018-08-27 14:28:47 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-26 08:38:06 +0200
commit51e8d7d77ca8e6da9fb5162d5090bc06b8957cd8 (patch)
tree02bba03338394e9993591d25dae71ec3f22de432 /arch/s390
parentb8b9c7f05b3cd11560c0d98dfbb20e06e68cb70e (diff)
downloadlinux-exynos-51e8d7d77ca8e6da9fb5162d5090bc06b8957cd8.tar.gz
linux-exynos-51e8d7d77ca8e6da9fb5162d5090bc06b8957cd8.tar.bz2
linux-exynos-51e8d7d77ca8e6da9fb5162d5090bc06b8957cd8.zip
s390/crypto: Fix return code checking in cbc_paes_crypt()
commit b81126e01a8c6048249955feea46c8217ebefa91 upstream. The return code of cpacf_kmc() is less than the number of bytes to process in case of an error, not greater. The crypt routines for the other cipher modes already have this correctly. Cc: stable@vger.kernel.org # v4.11+ Fixes: 279378430768 ("s390/crypt: Add protected key AES module") Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com> Acked-by: Harald Freudenberger <freude@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/crypto/paes_s390.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/crypto/paes_s390.c b/arch/s390/crypto/paes_s390.c
index a4e903ed7e21..b429aceff050 100644
--- a/arch/s390/crypto/paes_s390.c
+++ b/arch/s390/crypto/paes_s390.c
@@ -212,7 +212,7 @@ static int cbc_paes_crypt(struct blkcipher_desc *desc, unsigned long modifier,
walk->dst.virt.addr, walk->src.virt.addr, n);
if (k)
ret = blkcipher_walk_done(desc, walk, nbytes - k);
- if (n < k) {
+ if (k < n) {
if (__cbc_paes_set_key(ctx) != 0)
return blkcipher_walk_done(desc, walk, -EIO);
memcpy(param.key, ctx->pk.protkey, MAXPROTKEYSIZE);