瀏覽代碼

of: Feed entire flattened device tree into the random pool

We feed the entire DMI table into the random pool to provide
better random data during early boot, so do the same with the
flattened device tree.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Anton Blanchard 12 年之前
父節點
當前提交
109b623629
共有 1 個文件被更改,包括 12 次插入0 次删除
  1. 12 0
      drivers/of/fdt.c

+ 12 - 0
drivers/of/fdt.c

@@ -18,6 +18,7 @@
 #include <linux/string.h>
 #include <linux/string.h>
 #include <linux/errno.h>
 #include <linux/errno.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
+#include <linux/random.h>
 
 
 #include <asm/setup.h>  /* for COMMAND_LINE_SIZE */
 #include <asm/setup.h>  /* for COMMAND_LINE_SIZE */
 #ifdef CONFIG_PPC
 #ifdef CONFIG_PPC
@@ -726,3 +727,14 @@ void __init unflatten_device_tree(void)
 }
 }
 
 
 #endif /* CONFIG_OF_EARLY_FLATTREE */
 #endif /* CONFIG_OF_EARLY_FLATTREE */
+
+/* Feed entire flattened device tree into the random pool */
+static int __init add_fdt_randomness(void)
+{
+	if (initial_boot_params)
+		add_device_randomness(initial_boot_params,
+				be32_to_cpu(initial_boot_params->totalsize));
+
+	return 0;
+}
+core_initcall(add_fdt_randomness);