summaryrefslogtreecommitdiffstats
path: root/drivers/char/hw_random/pseries-rng.c
diff options
context:
space:
mode:
authorPrasannaKumar Muralidharan2016-11-18 18:30:10 +0100
committerHerbert Xu2016-11-21 15:50:45 +0100
commited424bb3680b6e6167a44c5c195ec8f9aea3ab3b (patch)
tree11b446c82310aad649ff7888d479dbbdc5cd2a63 /drivers/char/hw_random/pseries-rng.c
parentcrypto: drbg - advance output buffer pointer (diff)
downloadkernel-qcow2-linux-ed424bb3680b6e6167a44c5c195ec8f9aea3ab3b.tar.gz
kernel-qcow2-linux-ed424bb3680b6e6167a44c5c195ec8f9aea3ab3b.tar.xz
kernel-qcow2-linux-ed424bb3680b6e6167a44c5c195ec8f9aea3ab3b.zip
hwrng: Make explicit that max >= 32 always
As hw_random core calls ->read with max > 32 or more, make it explicit. Also remove checks involving 'max' being less than 8. Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char/hw_random/pseries-rng.c')
-rw-r--r--drivers/char/hw_random/pseries-rng.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/char/hw_random/pseries-rng.c b/drivers/char/hw_random/pseries-rng.c
index 63ce51d09af1..d9f46b437cc2 100644
--- a/drivers/char/hw_random/pseries-rng.c
+++ b/drivers/char/hw_random/pseries-rng.c
@@ -28,7 +28,6 @@
static int pseries_rng_read(struct hwrng *rng, void *data, size_t max, bool wait)
{
u64 buffer[PLPAR_HCALL_BUFSIZE];
- size_t size = max < 8 ? max : 8;
int rc;
rc = plpar_hcall(H_RANDOM, (unsigned long *)buffer);
@@ -36,10 +35,10 @@ static int pseries_rng_read(struct hwrng *rng, void *data, size_t max, bool wait
pr_err_ratelimited("H_RANDOM call failed %d\n", rc);
return -EIO;
}
- memcpy(data, buffer, size);
+ memcpy(data, buffer, 8);
/* The hypervisor interface returns 64 bits */
- return size;
+ return 8;
}
/**