summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2023-09-24 21:11:09 +0000
committerArd Biesheuvel <ardb@kernel.org>2023-09-24 21:11:09 +0000
commit7f1844105796920262779a87b8f5d5df66e2f74f (patch)
treef610b35189e0f8bac961982f9ff790ca9f30407d
parent313feb3c39860ab17da48f37025f350f4bc83525 (diff)
downloadefilite-7f1844105796920262779a87b8f5d5df66e2f74f.tar.gz
use rndr for get_random_bytes
-rw-r--r--src/rng.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rng.rs b/src/rng.rs
index aad40a4..91ca059 100644
--- a/src/rng.rs
+++ b/src/rng.rs
@@ -98,6 +98,16 @@ pub fn get_random_u64() -> Option<u64> {
pub fn get_entropy(bytes: &mut[u8]) -> bool {
let mut b: &mut[u8] = bytes;
+ while let Some(l) = read_rndr() {
+ let n = b.len().min(8);
+ let v: &mut[u8];
+ (v, b) = b.split_at_mut(n);
+ v.copy_from_slice(&l.to_le_bytes().split_at(n).0);
+ if b.len() == 0 {
+ return true
+ }
+ }
+
if !have_smccc() {
return false
}