s390/crypto: unlock on error in prng_tdes_read()
PATCH 1/1 s390/crypto: unlock on error in prng_tdes_read()
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 <[email protected]>
arch/s390/crypto/prng.c +4 -2
@@ -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;
Quoted 13 lines · On Fri, 18 Nov 2016 14:11:00 +0300 Dan Carpenter <[email protected]>…
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 <[email protected]>arch/s390/crypto/prng.c +0
-0@@ -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;
arch/s390/crypto/prng.c static ssize_t prng_tdes_read(struct file *file, char __user *ubuf, · line 516
Quoted 10 lines
arch/s390/crypto/prng.c +4
-2-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;
Nice spotting, I will add this to my fixes tree. Thank you..
Signature · 4 lines
blue skies, Martin. "Reality continues to ruin my life." - Calvin.