Re: [PATCH v2 2/3] lib: random: get_random_bytes from HWRNG if present

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 17.03.2017 um 13:30 schrieb Sascha Hauer:
> On Thu, Mar 16, 2017 at 06:31:45AM +0100, Oleksij Rempel wrote:
>> From: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
>>
>> Instead of generating pseudo random numbers, get random bytes
>> from an optional HW generator, if enabled and registered.
>>
>> Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx>
>> Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
>> ---
>>  lib/random.c | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>
>> diff --git a/lib/random.c b/lib/random.c
>> index 210fea994..42c0f83b7 100644
>> --- a/lib/random.c
>> +++ b/lib/random.c
>> @@ -1,5 +1,6 @@
>>  #include <common.h>
>>  #include <stdlib.h>
>> +#include <linux/hw_random.h>
>>  
>>  static unsigned int random_seed;
>>  
>> @@ -22,6 +23,24 @@ void get_random_bytes(void *_buf, int len)
>>  {
>>  	char *buf = _buf;
>>  
>> +	if (IS_ENABLED(CONFIG_HWRNG)) {
>> +		struct hwrng *rng;
>> +		int bytes;
>> +
>> +		rng = hwrng_get_first();
>> +		if (!IS_ERR(rng)) {
>> +			while (len) {
>> +				bytes = hwrng_get_data(rng, _buf, len, 1);
>> +				if (!bytes)
>> +					goto sw_fallback;
> 
> hwrng_get_data() looks like it could return a negative error code.

hm.. good point.


-- 
Regards,
Oleksij

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox

[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux