diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2023-09-24 21:11:09 +0000 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2023-09-24 21:11:09 +0000 |
commit | 7f1844105796920262779a87b8f5d5df66e2f74f (patch) | |
tree | f610b35189e0f8bac961982f9ff790ca9f30407d | |
parent | 313feb3c39860ab17da48f37025f350f4bc83525 (diff) | |
download | efilite-7f1844105796920262779a87b8f5d5df66e2f74f.tar.gz |
use rndr for get_random_bytes
-rw-r--r-- | src/rng.rs | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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 } |