]> git.karo-electronics.de Git - linux-beck.git/commitdiff
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:39:33 +0000 (11:39 +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 9cc050f9536c10f1658472c132e5ac41c13db4fe..1113389d0a39fe661229b68d28cf99e7a2e18eab 100644 (file)
@@ -507,8 +507,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;