[Qemu-devel] [PATCH v3 17/23] hw/misc/nrf51_rng: Use qemu_guest_getrandom_nofail

Richard Henderson posted 23 patches 6 years, 7 months ago
Maintainers: David Gibson <david@gibson.dropbear.id.au>, Laurent Vivier <laurent@vivier.eu>, Riku Voipio <riku.voipio@iki.fi>, Paolo Bonzini <pbonzini@redhat.com>, Joel Stanley <joel@jms.id.au>, Peter Maydell <peter.maydell@linaro.org>, Richard Henderson <rth@twiddle.net>, Eduardo Habkost <ehabkost@redhat.com>, Igor Mitsyanko <i.mitsyanko@gmail.com>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
[Qemu-devel] [PATCH v3 17/23] hw/misc/nrf51_rng: Use qemu_guest_getrandom_nofail
Posted by Richard Henderson 6 years, 7 months ago
The random number is intended for use by the guest.  As such, we should
honor the -seed argument for reproducibility.  Use the *_nofail routine
instead of error_abort directly.

Cc: qemu-arm@nongnu.org
Cc: Joel Stanley <joel@jms.id.au>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 hw/misc/nrf51_rng.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/misc/nrf51_rng.c b/hw/misc/nrf51_rng.c
index d188f044f4..3400e90a9b 100644
--- a/hw/misc/nrf51_rng.c
+++ b/hw/misc/nrf51_rng.c
@@ -14,7 +14,7 @@
 #include "qapi/error.h"
 #include "hw/arm/nrf51.h"
 #include "hw/misc/nrf51_rng.h"
-#include "crypto/random.h"
+#include "qemu/guest-random.h"
 
 static void update_irq(NRF51RNGState *s)
 {
@@ -145,7 +145,7 @@ static void nrf51_rng_timer_expire(void *opaque)
 {
     NRF51RNGState *s = NRF51_RNG(opaque);
 
-    qcrypto_random_bytes(&s->value, 1, &error_abort);
+    qemu_guest_getrandom_nofail(&s->value, 1);
 
     s->event_valrdy = 1;
     qemu_set_irq(s->eep_valrdy, 1);
-- 
2.17.2


Re: [Qemu-devel] [PATCH v3 17/23] hw/misc/nrf51_rng: Use qemu_guest_getrandom_nofail
Posted by Joel Stanley 6 years, 7 months ago
On Fri, 15 Mar 2019 at 03:26, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> The random number is intended for use by the guest.  As such, we should
> honor the -seed argument for reproducibility.  Use the *_nofail routine
> instead of error_abort directly.
>
> Cc: qemu-arm@nongnu.org
> Cc: Joel Stanley <joel@jms.id.au>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Joel Stanley <joel@jms.id.au>

> ---
>  hw/misc/nrf51_rng.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/misc/nrf51_rng.c b/hw/misc/nrf51_rng.c
> index d188f044f4..3400e90a9b 100644
> --- a/hw/misc/nrf51_rng.c
> +++ b/hw/misc/nrf51_rng.c
> @@ -14,7 +14,7 @@
>  #include "qapi/error.h"
>  #include "hw/arm/nrf51.h"
>  #include "hw/misc/nrf51_rng.h"
> -#include "crypto/random.h"
> +#include "qemu/guest-random.h"
>
>  static void update_irq(NRF51RNGState *s)
>  {
> @@ -145,7 +145,7 @@ static void nrf51_rng_timer_expire(void *opaque)
>  {
>      NRF51RNGState *s = NRF51_RNG(opaque);
>
> -    qcrypto_random_bytes(&s->value, 1, &error_abort);
> +    qemu_guest_getrandom_nofail(&s->value, 1);
>
>      s->event_valrdy = 1;
>      qemu_set_irq(s->eep_valrdy, 1);
> --
> 2.17.2
>