summaryrefslogtreecommitdiff
path: root/arch/arm/mach-rockchip/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-rockchip/board.c')
-rw-r--r--arch/arm/mach-rockchip/board.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
index 3fadf7e4122..75d6693e28a 100644
--- a/arch/arm/mach-rockchip/board.c
+++ b/arch/arm/mach-rockchip/board.c
@@ -472,9 +472,18 @@ __weak int misc_init_r(void)
__weak int board_rng_seed(struct abuf *buf)
{
struct udevice *dev;
- size_t len = 0x8;
+ ulong len = env_get_ulong("rng_seed_size", 10, 64);
u64 *data;
+ if (len < 64) {
+ /*
+ * rng_seed_size should be at least 32 bytes for Linux 5.19+,
+ * or 64 for older Linux kernel versions
+ */
+ log_warning("Value for rng_seed_size (%lu) too low, Linux kernel RNG may fail to initialize early\n",
+ len);
+ }
+
data = malloc(len);
if (!data) {
printf("Out of memory\n");