mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-24 06:24:17 +00:00
net: lwip: provide entropy to MBed TLS in one go
We currently provide entropy to mbedTLS using 8b chunks. Take into account the 'len' parameter passed by MBed TLS to the entropy gathering function instead. Note that the current code works because len is always 128 (defined at compile time), therefore mbedtls_hardware_poll() is called repeatedly and the buffer is filled correctly. But passing 'len' to dm_rng_read() is both better and simpler. Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
572b5b0d5a
commit
2cde2f4a00
1 changed files with 2 additions and 4 deletions
|
@ -42,7 +42,6 @@ int mbedtls_hardware_poll(void *data, unsigned char *output, size_t len,
|
|||
size_t *olen)
|
||||
{
|
||||
struct udevice *dev;
|
||||
u64 rng = 0;
|
||||
int ret;
|
||||
|
||||
*olen = 0;
|
||||
|
@ -52,12 +51,11 @@ int mbedtls_hardware_poll(void *data, unsigned char *output, size_t len,
|
|||
log_err("Failed to get an rng: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
ret = dm_rng_read(dev, &rng, sizeof(rng));
|
||||
ret = dm_rng_read(dev, output, len);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
memcpy(output, &rng, len);
|
||||
*olen = sizeof(rng);
|
||||
*olen = len;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue