blob: 681ec90f1cec6a5197e06ca7c0ac7752b5b5ace5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
Index: uboot-layerscape-lf-6.1.1-1.0.0/arch/arm/cpu/armv8/sec_firmware.c
===================================================================
--- uboot-layerscape-lf-6.1.1-1.0.0.orig/arch/arm/cpu/armv8/sec_firmware.c
+++ uboot-layerscape-lf-6.1.1-1.0.0/arch/arm/cpu/armv8/sec_firmware.c
@@ -473,12 +473,6 @@ int fdt_fixup_kaslr(void *fdt)
return 0;
}
- ret = sec_firmware_get_random(rand, 8);
- if (ret < 0) {
- printf("WARNING: No random number to set kaslr-seed\n");
- return 0;
- }
-
err = fdt_check_header(fdt);
if (err < 0) {
printf("fdt_chosen: %s\n", fdt_strerror(err));
@@ -490,6 +484,15 @@ int fdt_fixup_kaslr(void *fdt)
if (nodeoffset < 0)
return 0;
+ if (fdt_find_or_add_subnode(fdt, nodeoffset, "kaslr-seed"))
+ return 0;
+
+ ret = sec_firmware_get_random(rand, 8);
+ if (ret < 0) {
+ printf("WARNING: No random number to set kaslr-seed\n");
+ return 0;
+ }
+
err = fdt_setprop(fdt, nodeoffset, "kaslr-seed", rand,
sizeof(rand));
if (err < 0) {
|