[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 12/14] linux-user/aarch64: Use qemu_getrandom for
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 12/14] linux-user/aarch64: Use qemu_getrandom for arm_init_pauth_key |
Date: |
Wed, 13 Mar 2019 21:55:24 -0700 |
Use a better interface for random numbers than rand * 3.
Cc: Laurent Vivier <address@hidden>
Cc: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
linux-user/aarch64/cpu_loop.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c
index d75fd9d3e2..ad30cab52d 100644
--- a/linux-user/aarch64/cpu_loop.c
+++ b/linux-user/aarch64/cpu_loop.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "qemu.h"
#include "cpu_loop-common.h"
+#include "qemu/random.h"
#define get_user_code_u32(x, gaddr, env) \
({ abi_long __r = get_user_u32((x), (gaddr)); \
@@ -147,22 +148,9 @@ void cpu_loop(CPUARMState *env)
}
}
-static uint64_t arm_rand64(void)
-{
- int shift = 64 - clz64(RAND_MAX);
- int i, n = 64 / shift + (64 % shift != 0);
- uint64_t ret = 0;
-
- for (i = 0; i < n; i++) {
- ret = (ret << shift) | rand();
- }
- return ret;
-}
-
void arm_init_pauth_key(ARMPACKey *key)
{
- key->lo = arm_rand64();
- key->hi = arm_rand64();
+ qemu_getrandom(key, sizeof(*key), false);
}
void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs)
--
2.17.1
- Re: [Qemu-devel] [PATCH v2 07/14] ui/vnc: Use qcrypto_random_bytes for make_challenge, (continued)
[Qemu-devel] [PATCH v2 08/14] util: Add qemu_getrandom and support functions, Richard Henderson, 2019/03/14
Re: [Qemu-devel] [PATCH v2 08/14] util: Add qemu_getrandom and support functions, Eric Blake, 2019/03/14
[Qemu-devel] [PATCH v2 12/14] linux-user/aarch64: Use qemu_getrandom for arm_init_pauth_key,
Richard Henderson <=
[Qemu-devel] [PATCH v2 06/14] crypto: Change the qcrypto_random_bytes buffer type to void*, Richard Henderson, 2019/03/14
[Qemu-devel] [PATCH v2 11/14] linux-user: Use qemu_getrandom for AT_RANDOM, Richard Henderson, 2019/03/14
[Qemu-devel] [PATCH v2 13/14] linux-user: Remove srand call, Richard Henderson, 2019/03/14
[Qemu-devel] [PATCH v2 14/14] target/arm: Implement ARMv8.5-RNG, Richard Henderson, 2019/03/14