s390/crypto: unlock on error in prng_tdes_read()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 18 Nov 2016 11:11:00 +0000 (14:11 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2017 10:22:49 +0000 (11:22 +0100)
commit 9e6e7c74315095fd40f41003850690c711e44420 upstream.

We added some new locking but forgot to unlock on error.

Fixes: 57127645d79d ("s390/zcrypt: Introduce new SHA-512 based Pseudo Random Generator.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/crypto/prng.c

index d750cc0dfe301ed1dd5fa5edd8df1a6fb97cc451..683a966b5b1662bf78ff94cc805f2d3c222dbafb 100644 (file)
@@ -565,8 +565,10 @@ static ssize_t prng_tdes_read(struct file *file, char __user *ubuf,
                prng_data->prngws.byte_counter += n;
                prng_data->prngws.reseed_counter += n;
 
-               if (copy_to_user(ubuf, prng_data->buf, chunk))
-                       return -EFAULT;
+               if (copy_to_user(ubuf, prng_data->buf, chunk)) {
+                       ret = -EFAULT;
+                       break;
+               }
 
                nbytes -= chunk;
                ret += chunk;