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)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 12 Dec 2016 08:01:10 +0000 (09:01 +0100)
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>
arch/s390/crypto/prng.c

index 9cc050f..1113389 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;