[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-4.1 4/7] linux-user/aarch64: Use qemu_getrandom
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH for-4.1 4/7] linux-user/aarch64: Use qemu_getrandom for arm_init_pauth_key |
Date: |
Tue, 12 Mar 2019 23:26:27 -0700 |
Use a better interface for random numbers than rand * 3.
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
- [Qemu-devel] [PATCH for-4.1 0/7] Add qemu_getrandom and ARMv8.5-RNG, Richard Henderson, 2019/03/13
- [Qemu-devel] [PATCH for-4.1 4/7] linux-user/aarch64: Use qemu_getrandom for arm_init_pauth_key,
Richard Henderson <=
- [Qemu-devel] [PATCH for-4.1 2/7] util: Use getrandom for qemu_getrandom if available, Richard Henderson, 2019/03/13
- [Qemu-devel] [PATCH for-4.1 5/7] linux-user: Remove srand call, Richard Henderson, 2019/03/13
- [Qemu-devel] [PATCH for-4.1 3/7] linux-user: Use qemu_getrandom for AT_RANDOM, Richard Henderson, 2019/03/13
- [Qemu-devel] [PATCH for-4.1 1/7] util: Add qemu_getrandom and support functions, Richard Henderson, 2019/03/13
- [Qemu-devel] [PATCH for-4.1 6/7] ui/vnc: Use qemu_getrandom for make_challenge, Richard Henderson, 2019/03/13
- [Qemu-devel] [PATCH for-4.1 7/7] target/arm: Implement ARMv8.5-RNG, Richard Henderson, 2019/03/13
- Re: [Qemu-devel] [PATCH for-4.1 0/7] Add qemu_getrandom and ARMv8.5-RNG, no-reply, 2019/03/13